作家
登录

MySQL SQL优化之覆盖索引

作者: 来源: 2017-09-05 14:06:17 阅读 我要评论

2. 履行筹划:

id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t_order index NULL idx_ordercode_

我们来分析下MySQL为什么应用全表扫描、文件排序,而没有应用索引扫描、应用索引次序:


orderamount 42 NULL 1000 Using index

履行筹划显示萌芽会应用覆盖索引,并且只扫描了1000行数据,萌芽的机能应当是异常好的。

3. 履行时光:13ms

大年夜履行时光来看,SQL的履行时光晋升到本来的1/20,已经达到我们的预期。

总结:

覆盖索引是select的数据列只用大年夜索引中就可以或许取得,不必攫取数据行,换句话说萌芽列要被所建的索引覆盖。索引的字段不只包含萌芽列,还包含萌芽前提、排序等。

要写出机能很好的SQL不仅须要进修SQL,还要能看懂数据库履行筹划,懂得数据库履行过程、索引的数据构造等。

固然是全表扫描,然则扫描是次序的(不管机械硬盘照样SSD次序读写机能都是高的),并且数据量不是特别大年夜,所以这部分消费的时光应当不是特别大年夜,重要的消费应当是在排序上。

【编辑推荐】

  1. 用MySQL实现类似于Oracle dblink的功能
  2. 浅谈MySQL中优化SQL语句萌芽常用的30种办法
  3. MySQL存储过程语法及实例
  4. 经由过程Atlas实现MySQL读写分别
  5. MySQL索引专题一 熟悉索引
【义务编辑:庞桂玉 TEL:(010)68476606】

  推荐阅读

  如何理解马云演讲「十年后没有数据分析师的职业」

结缘:我小我很爱好研究马云的研究,一是认为他把工作做到了弗成思议的高度,二是他很爱对将来思虑场且愿意把结不雅分享。可以或许接触他的思惟,是一件异常荣幸的工作。我踏入数据行业也>>>详细阅读


本文标题:MySQL SQL优化之覆盖索引

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

关键词: 探索发现

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

网友点评
自媒体专栏

评论

热度

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