質問

現在、このようなアプリにクエリがあります。

SELECT * FROM combos WHERE text = '[text]'

私たちはaを置いています 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) - データ分布に応じて!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top