데이터베이스 인덱싱이란 무엇이며 작동 방식
데이터베이스의 인덱싱은 사전 책의 인덱싱과 동일한 개념을 사용합니다.
수백만 명의 사람의 이름과 성을 포함하는 수백만 개의 행이 있는 데이터베이스에 Person이라는 테이블이 있다고 가정합니다. 예를 들어 다음은 유사한 테이블의 그림입니다.
ID
이름
성
1
아메드 아메드
칸
2
샘
커란
삼
션
요르단
4
제니
스톡스
5
로버트
클라크
6
패트릭
커민스
.
...
...
1000000
루크
라이트
이제 인덱싱 없이 이름이 'Sean'인 사람을 검색하는 쿼리를 수행하면 SQL 쿼리는 이 간단한 작업을 수행하기 위해 100만 개의 행을 모두 조회합니다. 이제 데이터가 천만 행으로 확장될 때 이러한 간단한 쿼리가 얼마나 비용이 많이 들 수 있는지 생각해 보십시오. 이것은 다른 백만 개의 레코드가 있는 다른 테이블을 조인할 때 훨씬 더 비쌉니다.
따라서 이 문제를 해결하기 위해 데이터베이스 인덱스가 도움이 됩니다. 인덱싱은 쿼리 성능을 최적화하고 대규모 레코드에서 검색하는 데 도움이 되도록 정렬된 순서로 열을 설정합니다.
예를 들어 위의 Persons 테이블에서 first_name에 대한 인덱스를 생성하는 경우 다음 SQL 쿼리로 수행할 수 있습니다.
create index person_index on persons("first_name");
그런 다음 데이터베이스에 person_index라는 별도의 인덱스를 만들고 Person 테이블의 first_name 열을 정렬된 순서로 저장합니다. 마찬가지로 인덱스는 first_name과 함께 해당 열의 메모리 주소도 저장하므로 검색 작업이 수행될 때 동일한 행의 다른 열에서 데이터를 조회합니다.
이제 Persons 테이블에서 사람 이름 'Sean'을 검색하면 사람이 사전에서 검색하는 것처럼 'S'와 일치하는 단어만 조회하고 다른 단어는 건너뜁니다. 이를 통해 불필요한 검색을 건너뛸 수 있고 데이터베이스 성능을 높일 수 있습니다.
이것이 누군가를 돕기를 바랍니다.
고맙습니다.
Reference
이 문제에 관하여(데이터베이스 인덱싱이란 무엇이며 작동 방식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aabiseverywhere/what-is-database-indexing-and-how-it-works-3cp1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)