我有下表:
名称:示例
Fields
Id: Int(10)
Quantity: Int(10)
ProductId: Int(10)
SaleTimestamp: Int(10)
Indexes
ID, Primary, Unique
ProductId, Not Unique
SaleTimestamp, Not Unique
如何优化以下查询?
SELECT Quantity FROM Example WHERE Product_id = 'x' ORDER BY SaleTimestamp DESC LIMIT 1
答案 0 :(得分:3)
MySQL只使用一个索引,因此为了查询,它只会查询ProductId索引,因此ORDER BY无法使用索引。
解决方案是向两列添加索引,例如
ALTER TABLE example ADD INDEX comb( ProductId, SaleTimestamp );