데이터베이스에서 Covered Index의 비밀을 밝히다
데이터베이스 최적화 기술의 광범위한 영역에서 "covered index"라는 용어가 자주 등장합니다. 그 의미를 자세히 알아보고 그 중요성을 살펴보겠습니다.
커버드 인덱스는 특정 쿼리에 필요한 모든(그리고 잠재적으로 더 많은) 열을 포함하는 인덱스입니다. 단순히 검색 기준에 따라 더 빠른 행 식별을 가능하게 하는 기존 인덱스와 달리 Covered 인덱스는 쿼리에 필요한 실제 데이터도 저장합니다.
이 시나리오를 고려하십시오. "SELECT * FROM tablename WHERE 기준"과 같은 쿼리는 일반적으로 기준과 일치하는 행을 찾기 위해 인덱스를 사용합니다. 그러나 그런 다음 실제 테이블로 진행하여 이러한 행에 대한 데이터를 검색합니다.
column1, column2 및 column3에 걸쳐 있는 포함된 인덱스를 사용하여 동일한 쿼리("SELECT column1, column2 FROM tablename WHERE 기준" ) 행 식별 및 데이터 검색 모두에 인덱스를 활용할 수 있습니다. 이는 인덱스에 필요한 열이 이미 포함되어 있기 때문입니다. 테이블에 액세스할 필요가 없으므로 쿼리 실행 속도가 훨씬 빨라집니다.
포함된 인덱스의 이점은 쿼리가 행 필터링을 위해 특정 열을 자주 사용한 다음 추가 열을 검색하는 시나리오까지 확장됩니다. 포함된 인덱스에 이러한 추가 열을 포함함으로써 쿼리 프로세서는 인덱스에서 필요한 모든 데이터를 직접 검색하여 성능을 더욱 향상시킬 수 있습니다.
설명하기 위해 쿼리가 종종 필터링을 위해 열 A와 B를 사용하고 이후에 열을 사용한다고 가정해 보겠습니다. C와 D 열을 검색합니다. 잘 설계된 Covered 인덱스에는 A, B, C, D 열이 포함될 수 있으므로 쿼리가 테이블에 액세스하지 않고 데이터를 매우 효율적으로 가져올 수 있습니다.
Covered 인덱스의 실용성에 대해 더 자세히 알아보려면 Index Covering Boosts SQL Server 쿼리 성능을 참조하세요.
위 내용은 Covered Index는 어떻게 데이터베이스 쿼리 속도를 높일 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!