【发布时间】:2010-09-20 16:12:45
【问题描述】:
我对我的数据库有这样的查询:
SELECT * FROM expenses WHERE user_id = ? AND dated_on = ?
我已经在user_id 和dated_on 列的表中添加了索引。当我使用SHOW INDEXES FROM expenses 检查索引时,有两行——一行的seq_in_index 值为1,另一行的seq_in_index 值为2。
我的问题是,如果我随后提交一个仅使用两个 WHERE 子句之一的查询,例如:
SELECT * FROM expenses WHERE user_id = ?
创建另一个仅索引user_id 列的索引有什么好处,或者上面描述的user_id/dated_on 索引是否能同样有效地使用?
最后,如果使用查询呢:
SELECT * FROM expenses WHERE dated_on = ?
seq_in_index 值 2 在这种情况下如何影响索引的使用和性能?
【问题讨论】: