TL; DR:我有一个带有时间戳列的列。我想按特定日期过滤。我应该添加日期库存吗?
id(AI/PK) some fields timestamp *date?*
因此,只有时间戳列的查询类似于
SELECT ?
FROM [TABLE]
WHERE YEAR(timestamp) = '2015' AND MONTH(timestamp) = '04' AND DAY(timestamp) = '1'
对带有附加日期列的查询
SELECT ? FROM [TABLE] WHERE date = date('04-01-2015')?
我目前正处于项目的规划和设计阶段。但它将是一个非常庞大的生产表。因此,具有日期列的缺点显然是表的大小增加。我想没有日期列的骗局会降低性能。否?
嗯,我不确定这是不是很容易。
答案 0 :(得分:1)
我不这么认为。你可以这样做:
SELECT ?
FROM [TABLE]
WHERE date(timestamp) = '2015-04-01'
或者,如果您希望查询使用索引:
SELECT ?
FROM [TABLE]
WHERE timestamp >= '2015-04-01' AND
timestamp < date_add('2015-04-01', interval 1 day);