作家
登录

如何快速预估索引性能及查询效率

作者: 来源: 2018-01-03 08:58:36 阅读 我要评论

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—聚簇索引拜访

  1. 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

【编辑推荐】

  1. 年关盘点 | 切切级融资!2017年数据库范畴融资事宜盘点
  2. MySQL - 常见的三种存储引擎
  3. MySQL数据库对象的2个优化技能:场景分析、3步应用详解!
  4. SQLlite数据库中的附加和分别
  5. MySQL存储写入速度慢?当然是选择分析一下啦
【义务编辑:庞桂玉 TEL:(010)68476606】

  推荐阅读

  教你用 Python 来玩微信跳一跳

MacOS/Win,请应用如下操作开辟新的虚拟情况(不强调表示MacOS/Win雷同操作) 下载Anaconda. MacOS:默认安装/Win:留意安装时刻勾选设备路径或者之背工动设备,直至cmd后conda关键字有效 查看所有的虚拟情况 con>>>详细阅读


本文标题:如何快速预估索引性能及查询效率

地址:http://www.17bianji.com/lsqh/40192.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)