-
SQL) Full Text Search프로그래밍 2021. 9. 20. 19:00
가장 기본적인 검색방식은 무엇일까?
Full Scan.
코드로 표현하자면,
SELECT * FROM Article WHERE contents = "찾을내용"
이렇게 되면, 내가 찾으려는 "찾을내용"을 모든 row에서 휘적휘적 뒤지기 때문에 상당히 오래걸린다.
그래서 대체로 데이터베이스는
Indexing
라는 개념을 사용한다.
인덱싱이란?
https://velog.io/@bsjp400/Database-DB-%EC%9D%B8%EB%8D%B1%EC%8B%B1Indexing%EC%9D%B4%EB%9E%80
이분의 글을 참고하면 많은 도움이 될 것같다.
간단하게 생각하면,,
Balanced Tree, Bitmap 등의 알고리즘으로 미리 자료들을 찾을 수 있는 칼럼에 대해 정렬을 해두는 것이다.
여기서 주의할점은, 새로운 로우가 자주 추가되는 테이블이라면 오히려 성능 악화를 불러일으킬 수 있다.
인덱싱기능은 삽입(Write)보다는 조회(Read)가 많이되는 테이블에서 사용하면 좋다.
https://interconnection.tistory.com/95
이 블로그에 의하면,
index에 크게 두종류가있다.
1. b-tree index
2. full-text index
1번은 보통 비슷한 형식의 데이터를 다루는 칼럼에 많이쓴다.
예를들어, 나이(0~150), 위도(-90 ~ +90) 등등..
2번은 한 칼럼에 많은 데이터를 담고있는 경우에 쓴다.
예를들어, 각각의 로우에 자기소개서를 담고있는경우등..
'프로그래밍' 카테고리의 다른 글
SQL) IN, NOT IN, EXISTS, NOT EXISTS (0) 2021.09.25 SQL) Update Only If Different (0) 2021.09.25 좋은 개발자가 되는법. (코더가 되지않는법) (0) 2021.03.17 웹개발에 도움되는 사이트 (0) 2021.03.12 웹시작 하며 배운 새로운 개념 (0) 2021.02.28