我正在评估查询性能并得出一个奇怪的发现....
我正在尝试获取按列分组的今天创建的项目数
非常简单的 SQL 查询:
SELECT
count(id), total_units_sold
FROM public.items x
WHERE
created_at > current_date
GROUP BY total_units_sold ORDER BY 1 DESC;
有趣的发现是,当我使用 current_date 作为字符串运行相同的查询时
2023-04-18
结果要快得多;
为了提供有关表大小的一些上下文,该查询中有
32.000
结果,整个表大约有 12.000.000
记录
使用
current_date
时的执行时间:
使用
2023-04-18
时的执行时间:
所以这里的问题是: 为什么会这样?
备注:
created_at
上建立索引,我目前无法更改它解释结果