mysql不同的查询共享一个索引

时间:2014-02-27 02:54:15

标签: mysql

我有2个查询

SELECT * FROM table WHERE store_id=1 && album_id=1 && delete=0
UPDATE table SET delete=0 WHERE store_id=1 && album_id=1

我创建了一个索引store_id, album_id, delete

我的问题是这两个查询可以共享此索引吗?

或者我必须为第二个

创建另一个索引(store_id,album_id)

1 个答案:

答案 0 :(得分:3)

如果要创建一个复合索引为table(store_id, album_id, delete)的索引,则两个查询都应该能够使用此索引。

首先会使用索引中的所有三个字段,因为它们与where子句完全匹配。

第二个查询将使用索引中的前两列作为其where子句。