位置: 编程技术 - 正文

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

  • 一般纳税人公账转法人私账
  • 房地产企业税收优惠政策
  • 中外合资企业要交什么税
  • 印花税的计税依据为各种应税凭证上所记载的计税金额
  • 转让土地使用权营业税税率
  • 员工借款业务流程
  • 个体户缴纳经营所得个税怎么算的
  • 不计入销售收入
  • 出口退税综合服务平台广东
  • 研发费用的社保怎么做
  • 高危行业企业安全费用提取
  • 外企缴纳社保
  • 内账怎么收费
  • 其他综合收益是利润表项目吗
  • 出口发票税率为0还能退税吗
  • 个税按月算和按年算为什么不一样
  • 在建工程完工,并当日签订出租协议的会计分录
  • 质量抽样检查
  • 过桥费和过路费去哪里了
  • 地税局完税证明去哪里办理
  • 工商年报网上申报要钱吗
  • 小规模季报资产总额填错了有影响吗
  • 冲销暂估入库的会计分录
  • mac软件打开提示意外退出
  • 电脑怎么设置色盲模式
  • php require include
  • 寿命最短的苹果手机
  • 其他业务收入跨年调整
  • PHP:jdtojewish()的用法_日历函数
  • yii框架运行原理
  • 工业企业制造费用包括
  • 自产产品对外捐赠销项税额怎么计算
  • 确认的政府补助利得可以确认为收入吗
  • 以前年度损益调整是什么意思
  • 金税盘全额抵扣分录
  • discuz怎么修改招聘内容
  • 筹建期工会经费怎么算
  • vue如何实现路由跳转缓存
  • 什么是累积优先股
  • phpcms目录结构
  • 新办企业购置设备申请
  • 企业的业务招待费属于什么费用
  • 购入已提足折旧的固定资产账务处理
  • 社保怎么缴费方式
  • 住房补贴需要交个税吗
  • 小规模纳税人的增值税怎么算
  • 住宿费用抵扣税款会计分录
  • 员工备用金会计分录
  • 收到货款比开票少怎么办
  • 多交的应交税费资产负债表怎么填
  • 新成立的公司能干吗
  • 退货销售折让会计分录
  • 有利息费用这个科目吗
  • 进项税转出怎样做账务处理
  • 减免税款借方有利息吗
  • 收到红字增值税发票哪里查
  • 租赁期限为一年
  • 三大财务报表英文
  • mysql 表分区
  • 阿里云安装apache
  • windows更新kb5001391
  • Linux Kernel 4.2下载 更新内容一览
  • 清华同方bios通用密码(thtfpc)
  • 退休后归什么部门管
  • Linux /bin, /sbin, /usr/bin, /usr/sbin 区别
  • fcbzmgr.exe
  • win8 系统设置
  • Extjs的FileUploadField文件上传出现了两个上传按钮
  • arp如何绑定
  • vuerouter嵌套路由
  • node.js中的http.response.writeHead方法使用说明
  • python 基础入门
  • 显示随机数
  • python executemany的使用及注意事项
  • dns设置为网关会出现什么问题了
  • python的get
  • js中key
  • 个人出租房屋如何计税?看这篇
  • 山东居民养老金是多少
  • 本科毕业去上海找什么工作好
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设