쿼리 성능 관련

냥냥 2013.12.17 17:39 Views : 4669

4개의 테이블을 가지고 페이징을 해야 하는데

첫번째 페이지는 조회가 되는데 2번째 페이지쪽은 쿼리 시간이 오래 걸리네요


주문할때 해당 업체가 특정기간내에 많이 주문한 물품 순으로 정렬을 해줘야 합니다.

기본제품 테이블(Product)이 있고 기간별로 가격이 달라질 수 있기 때문에
기본제품테이블을 기준으로 특정기간별로 Group_Product 테이블이 생성됩니다.

실제 주문은 Group_Product 에 있는 가격을 기준으로 주문이 되는거죠


Product : 기본제품 테이블

Order : 주문테이블

Order_Product : 주문제품테이블

Group_Product : 특정기간내 제품정보


많이 주문한 물품순으로 정렬을 해야 되서

Order테이블과 Order_Product 테이블을 join 시킵니다.

이 테이블은 계속 쌓이므로 1000개만 가져오도록 제한시켰습니다.


결국 총 4개의 테이블을 가지고 조회를 합니다.

한 페이지에 8개만 가져오는데도 속도 문제가 있네요

아래 쿼리는 페이징 쿼리는 제외하고 실제 데이타만 가져오는 부분입니다.


특정기간내제품정보번호 는 상단에서 기간으로 조회를 해서 가져옵니다.


select top 8 a.product_number, d.idx, d.product_cost from 

Product_Copy a inner join (select idx, p_number, 

product_cost from Group_Product where grp_idx=특정기간내제품정보번호) d on a.product_number=d.p_number left outer join (select top 1000 p_number from Order a inner join Order_Product b on a.idx=b.order_idx 

and trans_date>='2013-09-17' and trans_date<='2013-11-17 23:59' and mng_agency_idx=업체번호 

group by p_number order by sum(p_ea) desc, max(p_name)) c on a.product_number=c.p_number  order by product_name


통계DB를 따로 만들어야 될까요?

현재 운영중인 사이트라 따로 만들기가 힘들것 같아서


현재 쿼리에서 어떤식으로 바꾸면 효율이 더 좋을까요?


도움 부탁 드립니다.

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 41779
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 22517
» 쿼리 성능 관련 [3] 냥냥 2013.12.17 4669
7442 sql server 2000에서 sql server 2008로 복제 쭈니74 2013.12.17 3984
7441 윈도우인증오류에러 HSQL 2013.12.17 5015
7440 profiler 본인 것만 추적하기 관련 문의입니다. [4] 하하하하하 2013.12.17 5614
7439 Microsoft OLE DB Provider for SQL Server 오류 '80004005' 질문드릴게요 닉부이치치 2013.12.16 9451
7438 뷰테이블 생성관련 질문입니다. 달님별님코자 2013.12.16 8007
7437 Select 결과 복사 후 엑셀에 붙여넣기 하는데 개행문자에 문제가 있습니다. [3] LASI 2013.12.16 19351
7436 where 에 case 문의 드립니다. [4] 뽕남 2013.12.12 8774
7435 NULL과 관련하여... [2] 메칸더 2013.12.12 8308
7434 Identity로 설정된 컬럼에 관한 겁니다. [2] 김락중_278785 2013.12.12 3153
7433 대용량의 데이터를 insert 할 경우 데이터 가 쌓이는 순서가 이상합니다. [7] 바람의취객 2013.12.12 5270
7432 SQL쿼리시에.. 마에스트로 2013.12.12 3420
7431 스키마가 손상되었다는데 답답하네요... [2] 다은빈아빠 2013.12.11 6827
7430 작업관리자에서 메모리 사용량에 대해서 질문드립니다. [2] 조일권 2013.12.11 4310
7429 엑셀에서 정보 가져올때 250~260자 이상 뒤가 잘려요~ [2] 이인수 2013.12.11 3674
7428 DTS 사용 후 현상에 관한 문의입니다. [1] 김락중_278785 2013.12.11 3435
7427 delete로 삭제하는 테이블 질문입니다. [2] 카루카루 2013.12.11 4031
7426 mysql 사용한계 문의 간장 2013.12.11 3713
7425 mysql구문에서 가져온 쿼리인데요 이것 mssql에서도 같거나 비슷하게 할 수 있나요: 김락중_278785 2013.12.11 3765
7424 프로시저 안에서 프로시저의 RAISERROR 에러값 체크 유레너스2 2013.12.11 4468





XE Login