TR=10000 *10ms=100000ms
TS=0 * 0.01ms=0ms
LRT=100000ms+0ms=100000ms
3)、LRT 总耗时
Fetch =10000*0.1ms=1000ms
LRT =索引LRT+表LRT+Fetch=110ms+100000ms+1000ms=101110ms=101s
上述萌芽我们大年夜概估算出的萌芽时光为101s阁下,真实情况因为磁盘缓存以及表预攫取的原因,速度会比这个快。不过我们不推敲这些,我可以经由过程这个值的预估,懂得到当前萌芽以及索引的机能,以供本身断定和优化。
4)、改良&优化
上述萌芽中,我们可以看到耗时最多的处所,产生在主表回查中,原因是字段’c_date’ 不在帮助索引name_sex_age中,造成了过多的随机拜访。

2、示例2—聚簇索引拜访
- select user_name,sex,age,c_date from test where user_name='test1' and sex=1 and id between 1000 and 101000;
匹配列id
过滤列user_name sex
匹配索引 PRIMARY KEY (id,user_name,sex)
过滤因子
id between 1000 and 101000,有100000行数据。
user_name 有500个不合的值,过滤因子为0.2%(1/500)
sex 有2个不合的值,过滤因子为50%(1/2)
组合过滤因子=0.2% * 50% =0.1%
结不雅集=10w * 0.2% * 50% =100
LRT估算:
因为我们此次应用的索引是主键索引(也就是会餐索引(引擎innodb)),所以我的表LRT拜访 时刻,是次序拜访,不是随机IO拜访。
LRT =索引LRT+表LRT+Fetch=11ms+11ms+10ms=31ms


【编辑推荐】
- 年关盘点 | 切切级融资!2017年数据库范畴融资事宜盘点
- MySQL - 常见的三种存储引擎
- MySQL数据库对象的2个优化技能:场景分析、3步应用详解!
- SQLlite数据库中的附加和分别
- MySQL存储写入速度慢?当然是选择分析一下啦
推荐阅读
MacOS/Win,请应用如下操作开辟新的虚拟情况(不强调表示MacOS/Win雷同操作) 下载Anaconda. MacOS:默认安装/Win:留意安装时刻勾选设备路径或者之背工动设备,直至cmd后conda关键字有效 查看所有的虚拟情况 con>>>详细阅读
本文标题:如何快速预估索引性能及查询效率
地址:http://www.17bianji.com/lsqh/40192.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示