选择具有到期日期的产品的不同方法

时间:2018-03-31 18:35:27

标签: mysql sql laravel database-design database-performance

创建产品时创建到期日期:

SELECT * FROM products WHERE expiry_at > NOW();

使用任务计划程序禁用产品:

SELECT * FROM products WHERE active = '1';

选择30天内创建的产品:

SELECT * FROM products WHERE created_at > DATE(NOW() - INTERVAL 30 DAY);

将来,产品的持续时间可能为60天。

基于性能,可扩展性等方法,这些方法的优点和缺点是什么?你有什么经历?还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

概念上最有用的肯定是

SELECT * FROM products WHERE created_at > DATE(NOW() - INTERVAL 30 DAY);

因为您可以轻松更改到期时间...

您还可以在db或app param或var中的正确表中使用param或value存储,以便使用未在sql中编码的更简单的到期时间间隔...例如:

 SELECT * FROM products WHERE created_at > CURDATE() - INTERVAL @days DAY;