날짜 열을 내림차순으로 색인하는 것이 좋습니까?
날짜 열이 있는 대부분의 표에서는 최근 정보를 "일반적으로" 쿼리합니다.
날짜 열을 내림차순으로 "일반적으로" 색인하는 것이 좋습니까?
Oracle 내부에 대해서는 잘 알지 못하지만 Postgres와 함께 작동하는 방법에 대해서는 다음과 같습니다.
인덱스는 모든 목적과 목적을 위해 클러스터링됩니다.따라서 새 행이 항상 마지막에 추가되는 경우(예: created_at, update_at, billing_at 등) 새 행이 추가되지 않고 추가됩니다(디스크 페이지 분할로 이어짐).이게 더 빨라요.
쿼리 플래너는 인덱스를 역순으로 즐겁게 읽을 것입니다.따라서 단일 열 인덱스인 경우 사용 사례에 새 행이 삽입되는 방법에 관해서는 가장 자연스러운 방법을 사용합니다.
역순으로 정렬된 인덱스가 흥미로워질 수 있는 경우는 다중 열 인덱스가 있는 경우입니다.말합니다,(id, created_at desc)
감사 로그 테이블에 저장됩니다.사실 나쁜 예이지만 요점은 다음과 같습니다. 만약 당신이 다음과 같이 주문한다면요.id, created_at desc
, 인덱스는 그대로 사용됩니다.
현저한 성능 향상이 나타나지 않는 한 내림차순 인덱스를 피할 수 있습니다.내림차순 인덱스는 실제로 함수 기반 인덱스이며 몇 가지 제한 사항이 있습니다.
예를 들어 SQL Reference에 따르면 고유한 내림차순 인덱스는 여러 null을 허용하지 않으며 인덱스와 테이블을 분석할 때까지 내림차순 인덱스는 사용되지 않습니다. (두 번째 제한을 재현할 수는 없지만)
또한 함수 기반 인덱스는 조금 다르며, 모든 사람이 작성하는 인덱스 유지보수 스크립트를 깨기 쉽습니다.이것은 그들을 피할 좋은 이유가 아니라, 단지 조심해야 할 것입니다.
언급URL : https://stackoverflow.com/questions/6416000/is-it-a-good-idea-to-index-a-date-column-in-descending-order
'itsource' 카테고리의 다른 글
커밋과 선택 사이의 Oracle 시차 (0) | 2023.09.19 |
---|---|
에서 출력의 공백 xmlns 특성을 방지하는 방법.NET의 Xml 문서? (0) | 2023.09.19 |
지정된 서비스 ID 이전에 모든 데이터 선택 (0) | 2023.09.19 |
터치 디바이스의 버튼에 대한 끈적거리는 호버 효과를 방지하는 방법 (0) | 2023.09.19 |
MySQL Workbench 테이블 데이터 가져오기 마법사 매우 느림 (0) | 2023.09.19 |