MySQL:order by上的索引


prtyaa
prtyaa 2023-12-28 15:46:04 53040 赞同 0 反对 0
分类: 资源
通过执行计划当发现 type的列为index的时候,则说明MySQL使用了索引扫描来做排序。 只有当索引的列顺序和order by字句的顺序完全一致,并且所有的列的要么是升序排列,要么全部是降序排列,所有的列的排序方向都一致时,MySQL才能使用索引来对结果进行排序,如果查询需要关联多张表,则只有当order by子句引用的字段全部为第一张表时,才能使用索引做排序。

order by子句和查找语句的限制是一样的,即需要满足最左匹配,最左前缀的要求,否则无法利用索引排序,但是有个例外,order by可以不满足这个条件也可以进行索引排序,那就是前导列是常量的时候。如果where子句和join子句对这些列指定了常量,就可以“弥补”索引的不足。也就是说where后面的字段的查询值是常量,然后order by后面。。看下面的例子


不能用索引的情况:


如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
prtyaaL2
粉丝 1 资源 1949 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  129
统信桌面专业版【全盘安装UOS系统】介绍  126
银河麒麟桌面操作系统安装佳能打印机驱动方法  119
银河麒麟桌面操作系统 V10-SP1用户密码修改  108
麒麟系统连接打印机常见问题及解决方法  20
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
麒麟系统连接打印机常见问题及解决方法 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益210.13元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!