gpt4 book ai didi

mysql - 如何添加索引,重用一些列?

转载 作者:行者123 更新时间:2023-11-29 06:13:11 26 4
gpt4 key购买 nike

例如,让我们查询:

SELECT * FROM users
WHERE parent_id = 1
AND created > '2016-05-06 00:00:00'
ORDER BY updated DESC, created ASC

添加以下索引不是最好的,以避免使用任何文件排序吗?:

ADD INDEX `search` (`parent_id` ASC, `created` ASC, `updated` DESC, `created` ASC)

尝试添加索引时,出现“重复列”。有什么办法可以避免这种情况吗?我目前正在处理一个相当大的数据集,因此优化是关键。

最佳答案

INDEX(parent_id, created) 是该查询的最佳索引。列必须按此顺序(首先是 = constant,然后是“范围”)。添加其他列将无济于事。

因为您在 ORDER BY 中混合了 DESCASC(并且因为您不能将索引声明为 DESC),不可能使用索引来避免 ORDER BY

More discussion .

关于mysql - 如何添加索引,重用一些列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37355027/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com