首先,主要还是索引没看懂,建立索引的时候,要为那些经常作为查询条件的字段建立索引,这样能够提高整个表的查询速度。
最左前缀:就是建立的联合索引,在之后用的过程中where后边的条件字段中要符合建立的联合索引的最左前缀原则
覆盖索引:这个是指的select 后边的字段 要在建立的联合索引中,在查询的时候才能用到索引覆盖。
拓展1:
索引失效条件
解决方法:需要使用覆盖索引
拓展2:
范围查询右边的列,不能使用索引 的原因:
因为前一个条件相同的情况下当前条件才会是有序的。
当前一个条件不同 那么无法保证当前条件为有序的 所以索引失效
拓展3:
extra的几个解释
using index :使用覆盖索引的时候就会出现
using where:在查找使用索引的情况下,需要回表去查询所需的数据
using index condition:查找使用了索引,但是需要回表查询数据
using index ; using where:查找使用了索引,需要的数据都在索引列中能找到,所以不需要回表 查询数据
回表查询:先定位主键值,再定位行记录,它的性能较扫一遍索引树更低。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。