문제

일반적으로 테이블에 인덱스를 생성할 때 일반적으로 인덱스가 무엇인지 추측합니다. Fill Factor 테이블이 어떻게 사용될 것인지(많은 읽기 또는 많은 쓰기)에 대한 추측을 기반으로 해야 합니다.

좀 더 정확한 것을 판단할 수 있는 좀 더 과학적인 방법이 있을까요? Fill Factor 값?

도움이 되었습니까?

해결책

현실적인 작업의 큰 목록을 실행하고 다양한 작업에 대한 IO 대기열을 살펴볼 수 있습니다.

각 행의 크기, 쓰기 수와 읽기 수 등 이를 제어하는 ​​변수가 많이 있습니다.

원래:높은 채우기 비율 = 더 빠른 읽기, 낮은 = 더 빠른 쓰기.

그러나 거의 모든 쓰기가 먼저 조회되어야 하는 행의 하위 집합에 대한 것이기 때문에 그렇게 간단하지는 않습니다.

예를 들어:채우기 비율을 10%로 설정하면 각 단일 행 업데이트는 페이지 분할이 거의 발생하지 않더라도 변경되는 행을 찾는 데 10배의 시간이 걸립니다.

일반적으로 채우기 비율은 70%(매우 높은 쓰기)에서 95%(매우 높은 읽기)까지 표시됩니다.

그것은 약간의 예술 형식입니다.

채우기 요소를 생각하는 좋은 방법은 주소록의 페이지와 같다는 것입니다. 주소를 더 빽빽하게 넣을수록 주소를 변경하기는 더 어려워지지만 책은 더 얇아집니다.제가 더 잘 설명했던 것 같아요 내 블로그.

다른 팁

나는 성능 향상을 추구한다면 스키마를 조정하고 쿼리를 최적화하며 좋은 인덱스 적용 범위를 보장하는 등 다른 곳에서 시간을 보내는 것이 훨씬 더 낫다고 생각하는 경향이 있습니다.채우기 비율은 다음과 같은 경우에만 걱정하면 되는 요소 중 하나입니다. 알다 시스템의 다른 모든 것이 최적이라는 것입니다.나는 그런 말을 할 수 있는 사람을 모른다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top