大家好,我这里有个表格现在查询是0.几MS
SELECT *
FROM user_log
LEFT OUTER JOIN (
SELECT pid
FROM day_stats
WHERE p_date = '2023-03-09'::date
) AS c
ON c.uid = user_log.uid
WHERE user_name = '用户姓名'
AND operation IN ('1111', '2222')
为何我在后面加入了日期区间,效率慢了几十倍?不是应该在上面的结果上再操作吗?小白
SELECT *
FROM user_log
LEFT OUTER JOIN (
SELECT pid
FROM day_stats
WHERE p_date = '2023-03-09'::date
) AS c
ON c.uid = user_log.uid
WHERE user_name = '用户姓名'
AND operation IN ('1111', '2222') and to_date(gmt_time::text,'yyyy-mm-dd') > '2023-03-01 00:00:00'
gmt_time 是timestamp格式的,这个查询是不是还要做一次全表扫描,格式化时间才会变慢的,请问如何优化,谢谢各位大佬