注册

执行计划解惑

大雄 2026/01/21 445 1

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.1
【操作系统】:鲲鹏
【CPU】:麒麟
【问题描述】*:
SELECT *
FROM "hccadsyqk"
WHERE "hccadsyqk"."permissionsCode" = 'C701-E907-0000-0100-BA7E-B4A2-21DE-0100'
AND "hccadsyqk"."softFactory" = 'hccad'
AND "hccadsyqk"."isDeleted" = 0
ORDER BY "hccadsyqk"."concurrentNum" DESC,
"hccadsyqk"."statisticalTime" DESC limit 1
sql 如上执行计划如下:
image.png
索引如下:
6b9594f2956165a25b1b3e27fcd89819.png
问题1: 这个一定要concurrentNum 和 statisticalTime的排序为倒叙,它的执行计划 才会不进行所有匹配数据的回表 在排序的操作。按照个人理解,不管升序还是降序,索引中存在无非是从前找还是从后找的问题,为啥一定要索引字段排序规则和查询sql的排序规则一致呀?
问题2:如果业务想升序排时咋整呢?难道在创建一个相同的索引,只是后2个字段的排序规则不同?

回答 0
暂无回答
扫一扫
联系客服