MySQL:计算今天增加的记录的最有效方法

时间:2009-01-21 17:21:34

标签: mysql performance

这是我的MySQL表结构:

itemID (BIGINT)
userID (BIGINT)
wasAdded (DATETIME)

我需要通过 X userID

获取当天引入的商品数量

最有效的方法是什么?

由于

2 个答案:

答案 0 :(得分:4)

最好的方法是添加涵盖userID wasAdded的索引,然后就可以了

SELECT COUNT(*) FROM my_table WHERE userID = 'X' AND wasAdded BETWEEN CONCAT(CURDATE(), ' ', '00:00:00') AND CONCAT(CURDATE(), ' ', '23:59:59');

这甚至不需要从表中读取,因为它需要的所有数据都在索引中。

答案 1 :(得分:2)

这应该可以解决问题:

SELECT COUNT(itemID) FROM 'tableName' WHERE TO_DAYS(wasAdded) = TO_DAYS(NOW()) AND userID = X

但是,请务必在wasAddeduserID上添加索引!