[ 목차 ]
1. LIKE 검색의 단점
2. 전문검색(Full Text Search)
3. Full Text Search 인덱스 생성
4. 전문검색 조건
5. 자연어 검색
6. 불린 검색
7. Bulk Insert
8. 인덱스 작업 정지/재설정
9. 기존의 insert문에 values를 여러 번 나열한 방식
10. 파일로 덤프하여 CSV파일을 사용한 방식
11. bulk insert의 주의사항
1. LIKE 검색의 단점
1) 여러 개의 검색필터를 동시에 매칭시키는 방식
2) 여러 개의 조건문을 AND/OR 시킬 경우 심각한 성능 저하 발생
3) 위 경우, 동일한 결과를 보이지만 DB서버에 부담을 주지 않는 Full Text Search를 사용
2. 전문검색(Full Text Search)
1) 기본적으로 컬럼 내용 전체를 단순 문자열로 생각하고 검색하는 방식
2) 문자편집기의 편집 찾기/바꾸기 메뉴의 동작방식과 유사
3) 자연어 검색, 불린 검색, 쿼리 확장 검색 방식이 존재
3. Full Text Search 인덱스 생성
alter table 테이블명 add fulltext(칼럼명);
1) MySISAM 스토리지 엔진만 지원했으나 현재는 둘 다 사용 가능
4. 전문검색 조건
1) my.ini 파일에서 ft_min_word_len =2 로 수정
2) 2자 이상의 단어에 대해서 적용하도록 제한(기본값 4)
3) 기존에 full text index가 있었으면 인덱스 재구성이 필요
repair table 테이블명 quick;
5. 자연어 검색
where match(칼럼명) against('검색어/검색문장');
1) 검색의 정확도 확인 : as score
2) 결과는 검색의 정확도에 대한 내림차순 정렬
6. 불린 검색
where match(칼럼명)
against("단어*" -제외단어 in boolean mode);
1) 검색의 정확도에 따른 정렬이 안되고 연산자를 사용한 구문 검색 가능
2) 필수단어(+), 예외단어(-), 부분단어(*)를 사용
7. Bulk Insert
1) insert의 경우 레코드를 추가한 후 내부적으로 인덱스 재구성 작업이 필요
2) 여러 개의 레코드를 넣어야 하는 경우 하나의 레코드를 입력할 때 마다 위 작업이 연속적으로 발생
3) bulk insert는 위 문제를 해결
8. 인덱스 작업 정지/재설정
alter table 테이블명 disable keys;
alter table 테이블명 enalbe keys;
9. 기존의 insert문에 values를 여러 번 나열한 방식
insert into 테이블명 values(...)valuess(...);
10. 파일로 덤프하여 CSV파일을 사용한 방식
load data infile 'c:\\path\file_name'
into table 테이블명 fields terminated by '\t' enclosed by "escaped by '\\' lines starting by "terminated by '\n';
11. bulk insert의 주의사항
1) 보안 문제로 특정 디렉토리에만 가능하도록 설정해야 함
2) secure - file - priv = path 옵션
3) my.ini 설정 : [mysqld] secure-file-priv = c:\\mysql\data
'T아카데미 > 데이터베이스' 카테고리의 다른 글
20강. SQL Advanced 7 (0) | 2020.03.27 |
---|---|
19강. SQL Advanced 6 (0) | 2020.03.27 |
17강. SQL Advanced 4 (0) | 2020.03.25 |
16강. SQL Advanced 3 (0) | 2020.03.25 |
88 (0) | 2020.03.25 |