我能改进吗?

时间:2016-12-08 01:52:43

标签: sql

我已通过以下代码对2014年的所有条目实施了查询搜索。我们可以考虑这种索引设计,并从性能角度为给定查询选择最佳值吗?

CREATE INDEX item_idx ON item (created);

SELECT text, created
FROM item
WHERE YEAR(created) = '2014’;

是最佳解决方案还是可以改进?

1 个答案:

答案 0 :(得分:2)

通常,索引不适用于YEAR()之类的函数。以下通常使用索引:

SELECT text, created
FROM item
WHERE created >= '2014-01-01' AND created < '2015-01-01';

请注意,(created, text)上有更好的索引。这是查询的覆盖索引。

此外,日期常量的格式可能因数据库而异。