位置: 编程技术 - 正文

简单分析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如何优化)

  • 增值税发票抵扣是什么意思
  • 以旧换新销售货物时,一律按照新货物的价格缴纳增值税
  • 预付加油充值卡可以报销吗
  • 承兑可以要吗
  • 乙方向甲方开具增值税专用发票
  • 以前年度调整后财务报表
  • 税率降低怎么算降税额
  • 电信充值调账什么意思
  • 新成立的企业都有哪些
  • 增值税预缴税金交错了怎么办
  • 商业企业销售的产品
  • 长期股权投资转入持有待售资产
  • 商业承兑背书后退回怎么办
  • 开发商土地使用税如何计算
  • 旅行社开具发票
  • 增值税普通发票和电子普通发票的区别
  • 房地产开发成本占比
  • 逾期往来账款怎么处理?
  • 净资产收益率怎么求
  • linux aws是什么
  • 应收账款期末怎么算
  • 要约与要约邀请的主要区别
  • win11电脑怎么重置
  • 即期结售汇期限包括
  • 前端如何用canvas绘制座位图
  • 我告诉你win7旗舰版
  • php iswriteable
  • 海关进口增值税怎么认证抵扣
  • 机动车发票金额含税吗
  • 不动产和无形资产的区别
  • 学摄影要交学费吗
  • 附加税多交了怎么办理退税
  • github账号在哪里看
  • python 命令行参数解析
  • at命令每天任务
  • vue虚拟domdiff算法
  • 购入库存商品会计分录摘要
  • 出口退税会计分局
  • php decbin
  • 分类信息有哪些网站
  • sqlserver2019查看表
  • Apache RocketMQ 5.0 笔记
  • 增值税普票怎么开演示
  • 报关单填制相关规范相关文件
  • 土地增值税中开发间接费用工资包括哪些人
  • MySQL中使用命令行查看二进制文件
  • 抚恤金的种类有多少种
  • 收到税局退款
  • 补交增值税和滞纳金怎么入账
  • 收到承兑汇票如何写收据
  • forval命令
  • 新买的电脑如何验机
  • win1 开机启动
  • 如何解决win10系统安装不兼容驱动的问题
  • windows8装 .NET 3.5 时出现0x800F081F错误解决方法
  • Win10 Mobile 10586.11已经在慢速通道推送 着离正式版更近了
  • 磁盘空间不足怎么弄
  • windows8.1应用商店打不开
  • windows定位
  • Unity3D游戏开发(第2版)
  • css实现下拉菜单的思路是
  • jquery网站开发
  • excite引擎
  • 菜鸟教程安卓下载
  • django 自定义权限管理
  • unity游戏项目开发教程
  • JavaScript中的this指向
  • shell数据处理
  • Unity3D之Transform参数
  • shell脚本中调用外部c程序
  • unity常用api
  • javascript函数的定义
  • Android 使用log4j2
  • 外埠企业如何在经营地缴税
  • 水利建设基金的计提与会计处理
  • 土地增值税计税
  • 长沙个体户缴纳个税
  • 广州市国税咨询电话
  • 非盈利org
  • 贵州地税电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设