이번엔 Timestamp 가 이슈로군~
java.util.Date -> 시간까지 커버
java.sql.Date -> 오직 연/월/일만..
java.sql.Time -> 오직 시간만~
java.sql.Timestamp -> 날짜와 시간을 커버하나...nano 초까지 관리한다는~~
오라클의
Date 날짜와 시간을 모두 커버
Timestamp 역시 나노초를 관리~~
이것참..
어떻게 보면 java.sql.*는 정직하구만..
오라클이 헷갈리게 한건가~~
왜 이리 Date는 많은지...
그래서 문제는 뭐냐고??
preparedStatement.setTimestamp(new java.sql.Timestamp((new java.util.Date(뭔가 값이 있겠지..)).getTime()) 해서 조회조건을 검색하면, 오라클이 나노초를 비교하느라 돌아버리신다는 거지~
겨우 30만건에...5초 이상이 걸려버리니...
근데 저걸 왜 쓰냐고??
나도...to_date() 이런거 써서 검색하고 싶다고~~
이유가 있으니깐 쓰는거지~~
이것참...개발끝났는데, 날짜 타입을 문자열로 바꾸는것도 일이고 그냥 놔둘수도 없고..
미쳐미쳐~~
한마디로 게임 오버라는 거지...
관련 사이트
http://mail-archives.apache.org/mod_mbox/ibatis-user-java/200609.mbox/%3Cc593b8750609270745r64bbd617h3a86139b023672ce@mail.gmail.com%3E




덧글
담벼락 2007/09/28 23:27 # 답글
i've got an idea for the problem. I'm testing on Monday....kkk
담벼락 2007/10/04 20:18 # 답글
결국..오라클의 데이터타입을 DATE에서 TIMESTAMP(0)로 바꾸었다~ 고민끝!!