Database/PostgreSQL
[PostgreSQL] 날짜 형식 검색 속도 개선
비니미니파파
2020. 11. 6. 16:39
mdate (속성 timestamp) 컬럼을 '2020-11-01' 에서 '2020-11-06' 일 까지 검색
# 잘못 됨
WHERE to_char(mdate,'YYYY-MM-DD') BETWEEN '2020-11-01' AND '2020-11-06'
# 권장하지 않음
WHERE mdate::date BETWEEN '2020-11-01'::date AND '2020-11-06'::date
데이터가 많은 테이블에서 timestamp 를 to_char 로 변한하면 안 됨. Index 안 탐.
개선
# mdate 컬럼 속성을 변경하지 않아야 함
WHERE mdate >= '2020-11-01'::timestamp AND mdate < '2020-11-06'::timestamp + interval '1 day'
--> 앞으로 고민 해 봐야 할것
between 을 사용하고 싶은데... + interval '+1day -1second' 이렇게 해도 되긴되는데