这是我拥有的MySQL表结构:
itemID (BIGINT)
userID (BIGINT)
wasAdded (DATETIME)我需要得到今天由X userID引入的项目数量
做这件事最有效的方法是什么?
谢谢
发布于 2009-01-21 17:26:25
最好的方法是添加一个覆盖userID和wasAdded的索引,然后您可以这样做。
SELECT COUNT(*) FROM my_table WHERE userID = 'X' AND wasAdded BETWEEN CONCAT(CURDATE(), ' ', '00:00:00') AND CONCAT(CURDATE(), ' ', '23:59:59');这甚至不需要从表中读取,因为它需要的所有数据都在索引中。
发布于 2009-01-21 17:27:42
这应该能起作用:
SELECT COUNT(itemID) FROM 'tableName' WHERE TO_DAYS(wasAdded) = TO_DAYS(NOW()) AND userID = X但是,确保在wasAdded和userID上有一个索引!
https://stackoverflow.com/questions/466187
复制相似问题