원인과 느린 쿼리의 솔루션

느린 쿼리에 대한 이유

1, 인덱스 또는 인덱스 (이 가장 일반적인 쿼리 속도가 느린 문제는 프로그램 설계 결함입니다)를 사용하지됩니다 
/ O 처리량 작고 형성 병목 효과의 I, 2. 
3, 쿼리 최적화 발생하지 않습니다 계산 열을 생성하지 않았다. 
4, 메모리 부족 
5, 네트워크 속도가 느립니다 
(데이터의 양을 줄이기 위해 여러 쿼리 나 다른 방법을 사용할 수 있습니다) 너무 큰 데이터를 확인, 6 
7, 잠금 또는 교착 상태 (가장 일반적인 쿼리 속도가 느린 문제가되는 프로그램입니다 설계 결함)는 sp_lock, sp_who를보기에 사용자의 활동, 읽기 및 쓰기 때문에 자원에 대한 경쟁. 
9, 불필요한 행과 열을 반환 

10, 쿼리가 좋지 최적화되어 있지 않습니다 

느린 쿼리 최적화

1, 데이터 로그, 당신은 Tempdb를이 RAID0에 배치해야하기 전에 읽기 속도를 높이기 위해 다른 I / O 장치에 배치 된 지수는 SQL2000는 지원되지 않습니다. 데이터 양 (크기) 증가, I / O 더 중요합니다. 개선 
2, 수직, 수평 파티션 테이블, 테이블 (sp_spaceuse)의 크기를 줄일 수 있습니다 
. 3, 하드웨어 업그레이드 
4, 쿼리, 색인, 색인 최적화에 따라, 액세스 모드를 최적화, 결과 집합 내의 데이터 량을 제한. 충전 인자 (바람직하게는 디폴트 값 0을 사용하여) 적절한 가야한다. 인덱스 성별 필드의 구성으로 한 지수 값이 제한된 수의 필드가 아니라, (인덱스 작성 참조)를 가능한 한 작게 할 컬럼 좋은 인덱스를 구축 바이트 소수 사용해야 
네트워크 속도를 개선하기 위해 5; 

6, 메모리 8G의를 지원하기 위해 2000 서버의 메모리, Windows 2000 및 SQL 서버를 확장합니다. 

도 7을 참조하면, 서버는 CPU의 수를 증가하였으나 메모리와 같은 직렬 병렬 처리의 처리 자원의 필요성을 이해해야한다. 뇌졸중의 병렬 또는 직렬 평가를 사용하여 자동으로 MSSQL을 선택한다. 여러 작업에 단일 작업은 프로세서에서 실행합니다. 예를 들어, 쿼리 지연, 연결 주사 단어 동시에 GROUP BY 실행 정렬 SQL 서버는 시스템의 부하에 따라 병렬 최적의 수준을 결정하기 위해 복잡한 소비하는 대부분의 질의의 병렬 처리를위한 CPU의 많은. 그러나, 업데이트 동작 UPDATE, INSERT, 삭제가 병렬로 처리 될 수 없다. 

8. 당신은 단순히 인덱스를 사용, 같은 쿼리를 사용하는 경우는 없습니다 작동하지만 전체 텍스트 색인, 공간의 소비를한다.

추천

출처www.cnblogs.com/xiongying4/p/12517274.html