我有下表:
名称:示例
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
最佳答案
MySQL 只使用一个索引,因此为了查询它只会引用 ProductId 索引,因此 ORDER BY 不能使用索引。
解决办法是给两列加一个索引,例如
ALTER TABLE example ADD INDEX comb( ProductId, SaleTimestamp );
关于php - Mysql Order By Optimization 有两个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25505718/