- search에는 인덱스와 역인덱스라는 개념이 존재한다.
- Index(인덱스) : MySQL에서 인덱스는 특정 컬럼 값에 대한 색인(목차)이다. 두꺼운 책 가장 앞에 목차를 표기해 두어 독자들이 빠르게 원하는 목차로 찾아갈 수 있도록 하는데 이와 비슷한 개념이다.
- 테이블의 검색속도는 데이터가 몇개 없으면 상관이 없지만, 데이터가 방대해질수록 속도면이 현저히 떨어지게 된다. 이때 미리 데이터들에 목차가 되는 형태의 index를 설정해두면 속도를 향상시킬 수 있다.
- Inverted-index(역인덱스) : 키워드를 통해 문서를 찾아내느 방식을 말한다. 책 뒷편의 색인된 키워드를 이용해 역으로 본문(혹은 문서)를 찾는 방식이다.
예를 들어, 리눅스를 사용하던 중 특정 파일을 찾고 싶어 명령어를 사용하려고 한다. 그런데 which, whereis, find와 같은 명령어 중 무엇을 사용해야 할 지 모르겠어서 책에서 각 명령어에 대해 먼저 알아보려고 한다. 이럴 때 우리는 보통 책 맨 뒤를 열어 index목록을 확인 한다.
이를 통해 105, 203, 204 페이지를 확인하면 우리가 찾던 명령어에 대한 내용을 찾을 수 있는데 이를 inverted-index라고 한다.- 검색 속도가 매우 빠르다.