2024 03 13
2024-03-13¶
MySQL Duration/Fetch Time¶
참고: https://enterone.tistory.com/216 참고: https://stackoverflow.com/questions/9425134/mysql-duration-and-fetch-time
- Duration Time
- 쿼리를 실행하는 시간
- SQL 쿼리 성능 최적화 타겟 대상
- Fetch Time
- 페치 된 결과를 전송하는데 걸리는 시간
- 쿼리 실행과 관련 X
- 네트워크 연결에 의존하기에 SQL 쿼리 디버깅/최적화 옵션의 고려대상 X
- 느리다면, 네트워크 때문임
MySQL ngram boolean mode¶
참고: https://blog.naver.com/PostView.nhn?blogId=jjdo1994&logNo=222348191751
- IN BOOLEAN MODE
- Full text index 만들기 : MySQL은 토크나이징을 통해 텍스트를 단어로 잘게 자르고, 인덱스와 해당 단어를 저장
- Tokenization : 토큰 만들 때, 불용어는 제한다
- N-grams : CJK 언어의 경우, 단어를 연속된 문자 시퀀스로 분할하는 N-gram 토큰화 사용
- 인덱스 저장 : 풀 텍스트 인덱스를 별도로 마련한 InnoDB 공간에 저장
- 검색 : 전체 텍스트 검색시, 해당 인덱스를 통해 행 검색
- Boolean Full-Text 검색 : 검색 구문의 단어를 Boolean으로 취급
- 엔진은 논치규칙을 통해 AND, NOT, OR 등의 연산 사용가능
-
- 등을 통해 와일드카드 일치도 가능
- 랭킹 : 검색 순위는 매겨지지 않음. 주어진 부울 쿼리 일치하는 모든 레코드 반환