码迷,mamicode.com
首页 > 数据库 > 详细

mysql 高效率查询背景

时间:2020-01-08 10:20:42      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:date   语句   分包   个数   部分   优化   执行器   索引   rac   

       说起mysql查询效率问题,就无法绕开索引问题,而innodb索引是mysql存储引擎中的重中之重,innodb索引包括“主键索引(聚集索引)”也就是实际数据和主键数据存储在一起的索引。innodb除了主键索引以外就是二级索引,二级索引叶子结点的数据区存储的是主键,mysql每个数据页面有16k大小,innodb在执行插入数据后就已经根据唯一键将数据页排好顺序,索引结构暂时不做过多解释。

那我们新建二级索引的时可以根据“近1”原则创建,创建是参考sql语句:select  COUNT(DISTINCT(CONCAT(date,name)))/count(*) ;

按照创建索引涉及的列去重后的总数和数据总数做对比,结果越趋近于1,则索引查询效果越好。因为越趋近于0说明数据差距不大,所扫描的数据代价越高。

mysql查询部分包括,(1)sql执行器,(2)sql优化器。

sql优化的执行过程可以先开启sql优化日志后,到information_schema.OPTIMIZER_TRACE这个表中进行查询。

 

mysql 高效率查询背景

标签:date   语句   分包   个数   部分   优化   执行器   索引   rac   

原文地址:https://www.cnblogs.com/zzq-include/p/12164978.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!