位置: 编程技术 - 正文

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

  • 小规模纳税人不开票需要纳税吗
  • 如何区分追索权和付款请求权的区别
  • 服务业费用有哪些
  • 应付职工薪酬明细账模板
  • 非居民劳务个税怎么计算
  • etc怎么取过路费啊
  • 资产负债表从哪里打出来的
  • 农户的竹扫把如何开票
  • 中小型企业库存的问题及对策
  • 发票过期了还能抵扣吗
  • 异地出租
  • 给了钱不给发票可以报警吗
  • 调解书和判决书执行力度一样吗
  • 怎么去税务局报账流程
  • 季度企业所得税申报表怎么填写
  • 水利建设基金的缴费基数是什么
  • 个人能否去税务登记
  • 电子税务局里的利润表,本月金额是填累计数吗
  • 代理销售怎么记账
  • 增值税要转到营业税金及附加吗
  • 海关专用缴款书怎么认证?
  • 领用原材料用于职工福利的税费怎么算
  • win11怎么回到10
  • 印花税零申报逾期
  • 个人补缴的养老全部划入个人账户
  • 企业常用的成本核算方法有哪些
  • thinkphp config
  • php+oracle
  • 卢塞恩小镇瑞士
  • 长期股权投资实现净利润计入什么科目
  • 新能源产业发展历程
  • 购买仓库计入什么科目
  • php 图片
  • php文件怎么写
  • golang char
  • php 输出
  • 合同补充协议印花怎么写
  • python字典keys方法 顺序
  • 服务型公司营业执照图片
  • 企业坏账准备贷方核算内容
  • 附加税申报核心内容
  • 进项税为什么记在贷方
  • 优先股和普通股风险哪个大
  • 投资管理公司成立的请示范文
  • 个税如何确认申报
  • 当月减少的固定资产为什么计提折旧
  • 医院要发票
  • 以红字冲回
  • 农业种植账务处理方法
  • 用现金券付房租违法吗
  • 建筑施工企业会计第三版单旭课后题答案
  • 一张凭证上可以写多个摘要吗
  • 工会经费教育经费福利费计提比例
  • 溢价交易和折价交易
  • 一次性补缴养老保险的最新规定
  • 个体工商户怎样为员工缴纳社保
  • 进项和销项税月底有余额吗
  • 赠送购物券的会计处理
  • 转账支票有效期6个月
  • 主营业务收入是什么意思
  • 私营公司应付工资的规定
  • 企业是否必须建立巡察制度
  • 防止黑客入侵的有效做法
  • centos pam
  • win10系统更新出错怎么办
  • 帝国cms列表页隐藏部分文章
  • js 加减
  • tensorflow.nn
  • js class属性
  • Node.js中的事件循环是什么意思
  • c++ nops
  • 数据结构 二叉树什么是孩子数
  • 批处理应用实例
  • python 详细
  • nodejs邮件
  • 安卓点赞脚本
  • 公益性捐赠支出属于什么会计科目
  • 湖北省电子税务局登录入口
  • 一般纳税人做账收费标准
  • 国家税务总局发票下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设