나는 행 수가 거의 92356143 인 테이블 tbl_ECR_ProductData
을 가지고 있습니다. 주 단위로 100000 개의 행을이 테이블로 가져옵니다.SQL Server 2000에서 큰 테이블 성능 처리
테이블에 16 개의 열이 있고 그 중 2 개가 기본 키를 구성하고 나머지 열은 varchar
입니다.
여기 내 질문은 내가 나머지 열 값을 기반으로 테이블을 검색 할 때입니다. 그 오랜 시간이 걸리는, 거의 10 분.
어떻게 시간을 최소화 할 수 있습니까? 제발 도와주세요 .. 당신의 도움이 감사합니다 ... 미리 감사드립니다! 코드를 보지 않고 시간을 최소화하는 방법을 말하기 어렵다
CREATE TABLE [tbl_ECR_ProductData]( [Serial Number] [varchar](255) NOT NULL, [Act Number] [varchar](255) NULL, [Act Date] [datetime] NULL, [Act Location] [varchar](255) NOT NULL, [Manufacturer] [varchar](255) NULL, [ManufacturerPN] [varchar](255) NULL, [Act Description] [varchar](255) NULL, [Act PtNumber] [varchar](255) NULL, [Act Code] [varchar](255) NULL, [Act DateCode] [varchar](255) NULL, [Pmrl] [varchar](255) NULL, [Act ReceiveDate] [datetime] NULL, [Act Channel] [varchar](255) NULL, [Act Supplier] [varchar](255) NULL, [ImportDate] [datetime] NULL
CONSTRAINT [PK_tbl_ECR_ProductData] PRIMARY KEY CLUSTERED ( [Serial Number] ASC, [Act Location] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY] )
1 세트 인덱스 새 행으로)이 행을 삭제하거나 히스토리 값 테이블로 이동하십시오. – mortb
SQL Server Management Studio에서 쿼리를 실행하는 경우 "실제 실행 계획 포함"을 설정하십시오. 생성 된 실행 계획을 검토하여 쿼리의 하위 부분이 가장 오래 걸리는 부분을 확인합니다. "중첩 된 루프"를 찾으려면 일반적으로 인덱스 스캔보다 시간이 오래 걸립니다. 1. 오랜 시간이 걸리는 부분을 피하기 위해 쿼리를 다시 작성하거나 2. 장기 실행 부품의 성능에 도움이되는 인덱스를 설정하십시오. – mortb