目前,我们的应用程序中有一个查询,如下所示:
SELECT * FROM combos WHERE text = '[text]'我们在combos上放置了一个category_id列,查询将更改为:
SELECT * FROM combos WHERE category_id in ([c1],[c2],[...]) AND text = '[text]'目前,在combos(text)上有一个索引。我们正在考虑移除它,并在combos(category_id, text)上添加一个。MYSQL将能够像使用旧索引一样使用新索引吗?如果答案是‘视情况而定’,那么它依赖于什么?我们应该保留旧的以防它不能使用吗?
发布于 2011-01-21 18:55:38
只要不存在范围条件,就执行sometimes....as:
http://dev.mysql.com/doc/refman/5.5/en/index-merge-optimization.html
您可能更好地使用(text, category_id) --这取决于您的数据分布!
https://stackoverflow.com/questions/4757928
复制相似问题