MySQL 索引学习漫画.md

给开发童鞋的索引学习漫画

【转载说明】此文章乃@小熊 童鞋独立创作的,
经@小熊允许@小峰童鞋微调并转载的哦~
谢谢观看~ღ( ´・ᴗ・` )比心



































1、MySQL 以主键值构造一棵树,叶子节点存放着该主键值对应的的整行数据。此为聚簇索引。

2、其他的索引为辅助索引,叶子节点存放着索引字段的值及对应的主键值。

3、一般情况下,单表查询每次只能用一条索引

4、where 条件字段的顺序与索引顺序无关,MySQL 优化器会自动调整顺序。

5、对查询 where 条件中区分度高的字段加索引。

6、通过索引扫描的行数超过全表 30% 时,变全表扫描。

7、联合索引,叶子节点存储的顺序以创建时指定的顺序为准,因此区分度高字段的放左边,能被多个查询复用到的放左边。

8、只 select 需要用到的字段,避免 select * 。

9、如有必要,可使用 USE/FORCE/IGNORE INDEX 强制索引 。

10、多表 join ,先按各表的查询条件比较哪个开销小,从小表取出所有符合条件的,到大表循环查找。

11、以下情况无法使用到索引:
like通配符在最左如:like '%dd', not in , != , <> ,对列做函数运算,隐式数据类型转换, or 子句。

对不确定执行计划的关键语句 select/update/delete ,上线前都务必进行 explain
,查看索引是否合适哟~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 9,778评论 0 44
  • Mysql概述 数据库是一个易于访问和修改的信息集合。它允许使用事务来确保数据的安全性和一致性,并能快速处理百万条...
    彦帧阅读 13,701评论 10 460
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,008评论 2 89
  • 索引(在MySQL中也叫做 “键(key)")是存储引擎用于快速找到记录的一种数据结构。这是索引的基本功能。 索...
    好好学习Sun阅读 1,123评论 0 2
  • 今天休息,好朋友上班去了,天气在冬雨过后冷了许多,关着窗仍能听到风在咆哮,仅有一个水果面包垫底,我饿着肚子想写点...
    苏城少翁阅读 278评论 0 0