|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 액세스 버전(95,97,2000,xp,2003,2007): 2016
* 아래줄에 질문을 작성하세요 >>
MSSQL에 ODBC 연결테이블 환경입니다.
클라이언트 Access 2016에서 아래 쿼리를 만들어 실행했습니다.
SELECT TOP 20 notice.* FROM notice
WHERE RegDate Not In (SELECT TOP 500 RegDate FROM notice
ORDER BY RegDate DESC)
ORDER BY RegDate DESC;
게시물은 1000개가 안됩니다. 840개...
RegDate에 인덱스가 DESC로 주어져 있습니다.
In Select 문을 제거하면 매우 빠른데
넣으면 12초 정도 소요됩니다 매우 느려서 사용할 수 없을지경입니다..ㅠ
MSSQL 서버에서 직접실행하면 매우빠릅니다.
그런데 클라이언트에서 쿼리를 실행하니 매우 느리네요..
이유와 해결방법이 매우 궁금힙니다.
In select 로 굳이 제외 후 조회하는 이유는...
게시판 페이징(약 50페이지, 10개단위 페이징 )을 만들고 있는데
정책상 정기적으로 게시물을 상기시키기 위해 게시일을 최근날짜로 업데이트 해오고 있어서 최근날짜업데이트된 것을 기준으로 10페이지로 이동하려면 날짜역순정렬에 최근 9페이지를 제외한 게시물들을 불러오기위함입니다..
능력자분의 조언 간곡히 부탁드립니다. 감사합니다.. |
|