MySQL可以在查询中使用索引吗?
-
16-10-2019 - |
题
我们目前在这样的应用中有一个查询:
SELECT * FROM combos WHERE text = '[text]'
我们正在放一个 category_id
列打开 combos
, ,查询将改变这一点:
SELECT * FROM combos WHERE category_id in ([c1],[c2],[...]) AND text = '[text]'
目前,有一个索引 combos(text)
. 。我们正在考虑将其删除并戴上它 combos(category_id, text)
. 。 MySQL是否能够像旧索引一样使用新索引?如果答案是“取决于”,那么它取决于什么?如果不能,我们应该保留旧的吗?
解决方案
有时....只要没有范围条件:
http://dev.mysql.com/doc/refman/5.5/en/index-merge-optimization.html
您可能会更好 (text, category_id)
- 取决于您的数据分发!
不隶属于 StackOverflow