SQL Server 2000에서 아래 쿼리를 최적화하려고합니다. 모든 테이블에는 2 백만 레코드가 포함 된 Prod_Lot_Stage_Wise_Detl
테이블을 제외한 300,000 개 이상의 행이 있습니다.select 절에 정수 열을 사용할 때 쿼리 선택 속도가 느려짐
LotStgWs.Finished_Pcs
필드 (Prod_Lot_Stage_Wise_Detl
테이블에 속함)를 포함하지 않고 아래의 쿼리를 실행하면 결과가 20 초 내에 나타납니다.
그러나 LotStgWs.Finished_Pcs
필드를 포함하면 실행 시간이 2 분 이상이됩니다. 여기서 잘못된 점과 SQL Server 2000에서 정수 필드를 처리하는 방법을 이해하지 못합니다. 인덱스는 각 테이블에 대해 올바르게 정의됩니다.
SELECT
JangRecv.Jangad_Ref_Code,
LotRecv.Total_Pcs Org_Pcs,
LotRecv.Total_Cts Org_Cts,
LotStgWs.Finished_Pcs,
(Isnull(ReEst.Exp_Wt,LotRecv.Exp_Yield)) Exp_Yield
FROM
Prod_Jangad_Receive_Tran JangRecv With(NoLock) Inner Join
Prod_Lot_receive_Tran LotRecv With(NoLock) On (JangRecv.Jangad_Seq_No = LotRecv.Jangad_Seq_No) Inner Join
Prod_Lot_Stage_Wise_Detl LotStgWs With(NoLock) On (
LotStgWs.Jangad_Seq_No = LotRecv.Jangad_Seq_No And
LotStgWs.Lot_Seq_No = LotRecv.Lot_Seq_No And
LotStgWs.Stage_Seq_No = ISNULL(
(SELECT MAX(Delv_Stage_Seq_No)
FROM Prod_Lot_Delivery_Tran
WHERE Jangad_Seq_No = JangRecv.Jangad_Seq_No
), JangRecv.Exp_Delv_Stage_Seq_No
)
) Left Outer Join
PPCS_QMA_Diamond_RE_Estimation ReEst With(NoLock) On (LotStgWs.Jangad_Seq_No = ReEst.Jangad_Seq_No And LotStgWs.Lot_Seq_No = ReEst.Lot_Seq_No And LotStgWs.Stage_Seq_No = ReEst.Stage_Seq_No)
Where
LotRecv.Lot_Recv_Div_Seq_No = 1
ORDER BY JangRecv.Jangad_Ref_Code, LotRecv.Lot_Num_Alias
관심 분야에서 3 lakh은 몇 개입니까? – StuartLC
@nonnb : Google은 3 lakh이 30 만명이라고 말합니다. –