두 개의 데이터 테이블이있는 경우. 하나는 클러스터 된 색인 CINDEX를 가지며, 다른 하나는 힙 HEAP입니다.클러스터되지 않은 인덱스로 인덱스 액세스
모두 같은 열에 클러스터되지 않은 인덱스가 -
내 클러스터 된 인덱스의 열이 같은 인 ROWID와 같은 크기 때문에 클러스터되지 않은 인덱스 모두의 깊이있는 가정 SEARCHCOL합니다. 적은 I 걸릴 것
는/O의는a) SELECT * FROM CINDEX WHERE SEARCHCOL = :1
b) SELECT * FROM HEAP WHERE SEARCHCOL = :1
이 선택 ... 테이블 행을 가져 또는 b 설명하는 이유 상태에있는 가정
평균 SQL Server 데이터베이스의 미세한 부분 일지 모르지만 고성능 데이터베이스에서 1 ~ 2 개의 IO를 생생하게 조정할 수 있습니다. 나는 질문에 대한 라디오 버튼이 있어야한다고 생각한다. (x) 나는 기업의 큰 소년 대답이 필요하다. 또는 소수의 사용자와 실제 SLA가없는 부서별 앱이있다. 그러나 다시 한번 나는 당신의 의심을 확인해 주셔서 감사합니다. 행이 넓어 질수록 리프 블록 당 행 수가 적을수록 b- 트리 테이블이 깊어 질수록 뚜렷한 IO가 나타나고 더 많은 행이 열리면 더 깊어집니다. 이렇게 넓거나 긴 테이블은 비교적 나 빠지고. –
단일 쿼리에서 하나 또는 두 개의 IO가 아니라 ... 쿼리가 분당 10,000 회 실행되는 것이 확실합니다. –
충분합니다. 클러스터 된 인덱스와 힙 (heap)으로 구성된 테이블 비교 : http://msdn.microsoft.com/en-us/library/cc917672.aspx –