这是我的MySQL表结构:
itemID (BIGINT)
userID (BIGINT)
wasAdded (DATETIME)
我需要通过 X userID
获取当天引入的商品数量最有效的方法是什么?
由于
答案 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
但是,请务必在wasAdded
和userID
上添加索引!