位置: 编程技术 - 正文

简单分析MySQL中的primary key功能(mysql的基本介绍)

编辑:rootadmin

推荐整理分享简单分析MySQL中的primary key功能(mysql的基本介绍),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql的理解,mysql的理解,mysql总结与分析,简要叙述一下mysql是什么,简要叙述一下mysql是什么,mysql 分析,mysql的理解,mysql总结与分析,内容如对您有帮助,希望把文章链接给更多的朋友!

在5.1.中优化器在对primary key的选择上做了一点改动:

Performance: While looking for the shortest index for a covering index scan, the optimizer did not consider the full row length for a clustered primary key, as in InnoDB. Secondary covering indexes will now be preferred, making full table scans less likely。

该版本中增加了find_shortest_key函数,该函数的作用可以认为是选择最小key length的

索引来满足我们的查询。

该函数是怎么工作的:

调用Primary_key_is_clustered(),当返回值为true,执行find_shortest_key:选择key length最小的覆盖索引(Secondary covering indexes),然后来满足查询。

首先在5.1.中测试:

简单分析MySQL中的primary key功能(mysql的基本介绍)

创建索引ind_1:

添加ind_2:

上面的版本【5.1.】中,可以看到优化器选择使用主键来完成扫描,并没有使用ind_1,ind_2来完成查询;

接下来是:5.1.

创建索引ind_1:

版本【5.1.】中首先明智的选择ind_1来完成扫描,并没有考虑到使用主键(全索引扫描)来完成查询,随后添加ind_2,由于 ind_1的key长度是大于ind_2 key长度,所以mysql选择更优的ind_2来完成查询,可以看到mysql在选择方式上也在慢慢智能了。

观察性能:

对比性能:

从上面的profile中可以看到在Sending data上,差异还是比较明显的,mysql不需要扫描整个表的页块,而是扫描表中索引key最短的索引页块来完成查询,这样就减少了很多不必要的数据。

PS:innodb是事务引擎,所以在叶子节点中除了存储本行记录外,还会多记录一些关于事务的信息(DB_TRX_ID ,DB_ROLL_PTR 等),因此单行长度额外开销个字节左右,最直观的方法是将myisam转为innodb,存储空间会明显上升。那么在主表为t(id,name,pk(id)),二级索引ind_name(name,id),这个时候很容易混淆,即使只有两个字段,第一索引还是比第二索引要大(可以通过innodb_table_monitor观察表的的内部结构)在查询所有id的时候,优化器还是会选择第二索引ind_name。

提高MySQL中InnoDB表BLOB列的存储效率的教程 首先,介绍下关于InnoDB引擎存储格式的几个要点:1、InnoDB可以选择使用共享表空间或者是独立表空间方式,建议使用独立表空间,便于管理、维护。启

使用sysbench来测试MySQL性能的详细教程 sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。目前sysbench代码托管在launchpad上,项

探究MySQL中索引和提交频率对InnoDB表写入速度的影响 本次,我们来看看索引、提交频率对InnoDB表写入速度的影响,了解有哪些需要注意的。先直接说几个结论吧:1、关于索引对写入速度的影响:a、如果有

标签: mysql的基本介绍

本文链接地址:https://www.jiuchutong.com/biancheng/347333.html 转载请保留说明!

上一篇:在大数据情况下MySQL的一种简单分页优化方法(大数据可以在等方面发挥作用)

下一篇:提高MySQL中InnoDB表BLOB列的存储效率的教程(mysql in如何优化)

  • 印花税会计分录怎么做
  • 年报资金数额要怎样填
  • 利息费用和利息支出的区别计算公式
  • 员工意外险费用
  • 终止销售关系怎么处理
  • 煤矸石算能源吗
  • 非行政性罚款可以撤销吗
  • 资本公积什么时候做账
  • 低值易耗品一次性摊销体现重要性
  • 高原补贴算工资吗
  • 车辆增值税抵扣多少点
  • 无形资产投资入股增值税
  • 利润借方余额表示盈利还是亏损
  • 股权转让印花税税率
  • 个人所得税深圳税务
  • 预付款和现金支付的区别
  • 工程建设劳务费怎么算
  • 企业结算备付金怎么做账
  • 个税是什么意思必须交吗
  • 返利冲减收入
  • 赠与合同公证收费标准
  • win10如何设置快捷键截图
  • win11版本22000.194
  • vpengine.exe进程
  • php中strcmp
  • 公司已经改名原来的公章还有效吗
  • php中??
  • 用科目汇总表怎么登记总账
  • 进程program
  • 购进旧设备折旧年限如何计算
  • 员工辞退补偿金扣个税吗
  • 纳库鲁的念能力
  • 房产税和土地使用税什么时候申报
  • php sid
  • 销售黄金的消费税
  • 修改命令的快捷键
  • 税控维护费可以抵企业所得税吗
  • 小企业投资款怎么做账
  • 一般纳税人不得从销项税额中抵扣的进项税额有哪些?
  • java的范式
  • 印花税怎么申报2023
  • 资金托管账户的钱能查到吗
  • 没有原始凭证可以记账吗
  • 小规模在税务局开专票需要什么材料
  • 政府补助会计核算
  • 宣传费税前扣除什么意思
  • 建筑业暂估成本票来了后的账务处理
  • 计提工资的核算流程
  • 预提费用如何预提
  • 接受慈善捐款结尾怎么写
  • 哪些人必须办理纳税登记
  • 会计账簿的更换和保管有哪些要求
  • 商业企业进货会计分录
  • sql注入式攻击中单引号的作用
  • 分区时把磁盘格式化了,如何恢复
  • ubuntu20.4分区
  • scanregistry.exe - scanregistry是什么进程 有什么用
  • 如何自定义wifi名称
  • NJeeves.exe - NJeeves进程文件是什么意思 有什么用
  • win10每次登录都要输入微软密码
  • win10 directx9
  • 电脑因故障出现问题而启动
  • linux中rename命令详解
  • win10没有win8好用
  • linux 操作指令
  • mac中quick-cocos2dx-2.2.5+sublime text 2搭建lua的开发环境
  • js判断div是否有滚动条
  • jquery常用动画制作
  • linux用户配置文件是什么
  • python的步骤
  • Unity3D脚本对预制件无效
  • [置顶]马粥街残酷史
  • js定义数字
  • javascriptcsdn
  • unity音乐thefatrat
  • js dom方法
  • noodoe如何使用
  • 税控盘如何下载驱动程序及安全控件
  • 山东济南税务局投诉电话
  • 国家税务贵州省税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设