조회성능을 위해서 날짜칼럼 timeStamp외에 날짜varchar칼럼을 만드는게 좋나요? 0 3 1,979

by 공기 [DB 기타] [2020.07.27 16:12:49]


포스트그레DB라서  날짜칼럼이 timeStamp입니다. (오라클로 말하자면 date형)

 

조회성능을 위해서  날짜칼럼이 timeStamp외에  추가로 날짜varchar(8)칼럼을 만드는게 좋나요?

 

 

P.S.

(추가한  날짜8자리 칼럼에   인덱스를 만들어주면   쿼리가  좀 빨리 나오지 않을까 해서요)

(아니면  의미없는  날짜8자리 칼럼을 추가해서  용량만 낭비하는건지..?)

 

by 우리집아찌 [2020.07.27 16:40:54]

저라면 그냥 DATE 형으로 쓰겠습니다.

VARCHAR로 쓴다고 성능이 좋아질것 같지는 않습니다.

WHERE 문을 바르게 쓰는것이 더 중요합니다.

https://scidb.tistory.com/entry/Varchar28-VS-Date-%EC%96%B4%EB%8A%90-%EA%B2%83%EC%9D%B4-%EC%9A%B0%EC%9B%94%ED%95%9C%EA%B0%80

 

https://ukja.tistory.com/265


by 우리집아찌 [2020.07.27 16:49:34]

생각해보니 오라클 기준이라 PostgreSQL 도 일치하는지는 모르겠습니다.


by 마농 [2020.07.27 18:00:59]

컬럼 타입이 문제가 아니라, 조건 주는 방법이 문제입니다.
날짜컬럼을 문자로 가공하여 문자조건과 비교하는 것이 문제입니다.
날짜컬럼은 그대로 두고 문자조건을 날짜로 가공하여 비교하시면 문제 없습니다.
○ 오라클 DATE Type 예시
- 수정전 : TO_CHAR(dt, 'yyyymmdd') = '20200727'
- 수정후 : dt >= TO_DATE('20200727', 'yyyymmdd') AND dt < TO_DATE('20200727', 'yyyymmdd') + 1
 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입