full text search :기존 like 검색의 단점을 보완한것(like 검색의 단점 : DB서버에 부담을 줌)
전체DB를 하나의 텍스트라 생각하고 검색하는 것 -> 문서편집기의 편집 찾기/바꾸기 메뉴동작과 비슷함
full text search 방식
1) 자연어 검색(일반적인 검색)
2) 불린 검색(특정 단어는 들어가야하고 특정단어는 들어가면 안되고.. 하는 식의 조건을 주는 것)
3) 쿼리확장 검색
이걸 할려면 Index가 만들어져 있어야 한다.
예전에는 MyISAM 스토리지 엔진만 지원했는데(5.5이하) 현재는 둘다(MyISAM, InnoDB) 모두 지원함
방법 : alter table 테이블명 add fulltext(컬럼명);
설정파일 수정도 필요함
my.ini에서 ft_min_world_len = 2 (기본값은 4임.. 너무 짧게 해놓으면 낭비니까) 2이면 2자이상의 단어에 대해서만 적용
만약 2에서 4로 바꿨다면.. 기존인덱스를 수정해야한다.
REPAIN TABLE 테이블명 QUICK; --> 전문검색 인덱스를 업데이트함
1) 자연어검색 : where match(컬럼명) against('검색어/검색문장')
2) 불린검색 where match(컬럼명) against("단어*" -제외단어 in boolean mode);
Bulk Insert
DB는 insert때마다 인덱스 재구성이 필요하다, 여러개의 레코드를 넣는 경우 하나의 레코드를 넣을때마다 이 작업이 필요
이 문제를 해결하는 것이 Bulk Insert
많은 건수가 insert 될때 마지막에만 인덱스 재구성하도록 하는 방법임
alter table 테이블명 disable keys; -- 인덱스 작업 정지
alter table 테이블명 enable keys; -- 인덱스 작업 재설정
파일로 덤프하기
CSV(Comma Separated Value) 파일을 사용하는 방식
load data infile 'C:\temp\file_name
LOAD DATA/SELECT INTO OUTFILE 의 경우 보안문제가 있어서.. 특정디렉토리에서만 가능하도록 설정할수 있다.
my.ini 에서 설정함
[mysqld]
secure-file-priv=C:\\mysql\data
'MYSQL강좌정리' 카테고리의 다른 글
19장 Stored Procedure, Trigger (0) | 2022.11.30 |
---|---|
18차 트랜잭션, 락(Lock), 격리수준 (0) | 2022.11.30 |
16장 파티셔닝/샤딩, 데이터베이스 복제 (0) | 2022.11.29 |
15장 데이터백업 복원 로그 (0) | 2022.11.29 |
14차시 메타데이터, 캐릭터셋/콜레이션 스토리지 엔진 (0) | 2022.11.27 |