Loading...
MySQL 9.5 Reference Manual 9.5의 28.4.19 The INFORMATION_SCHEMA INNODB_FT_INDEX_TABLE Table의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
INNODB_FT_INDEX_TABLE 테이블은
InnoDB 테이블의 FULLTEXT 인덱스에 대해
텍스트 검색을 처리하는 데 사용되는 inverted 인덱스에 대한 정보를
제공합니다.
이 테이블은 처음에는 비어 있습니다. 이 테이블을 조회하기 전에,
FULLTEXT 인덱스를 포함하는 테이블의 이름(데이터베이스 이름 포함)을
innodb_ft_aux_table 시스템
변수 값으로 설정해야 합니다 (예: test/articles).
관련 사용 정보와 예시는 Section 17.15.4, “InnoDB INFORMATION_SCHEMA FULLTEXT Index Tables”를 참고하십시오.
INNODB_FT_INDEX_TABLE 테이블에는
다음과 같은 컬럼이 있습니다:
WORDFULLTEXT의 일부인 컬럼의 텍스트에서 추출된 단어입니다.
FIRST_DOC_ID이 단어가 FULLTEXT 인덱스에서 처음 나타나는
문서 ID입니다.
LAST_DOC_ID이 단어가 FULLTEXT 인덱스에서 마지막으로 나타나는
문서 ID입니다.
DOC_COUNT이 단어가 FULLTEXT 인덱스에 나타나는 행 수입니다.
같은 단어는 캐시 테이블 내에서 여러 번 나타날 수 있으며,
각각의 DOC_ID 와 POSITION 값의 조합마다
한 번씩 나타납니다.
DOC_ID해당 단어를 포함하는 행의 문서 ID입니다. 이 값은
기본 테이블에 대해 사용자가 정의한 ID 컬럼의 값을
반영할 수도 있고, 적절한 컬럼이 테이블에 없을 경우
InnoDB에 의해 생성된 시퀀스 값일 수도 있습니다.
POSITIONDOC_ID 값으로 식별되는 관련 문서 내에서,
이 단어 인스턴스의 위치입니다.
이 테이블은 처음에는 비어 있습니다. 이 테이블을 조회하기 전에,
FULLTEXT 인덱스를 포함하는 테이블의 이름(데이터베이스 이름 포함)을
innodb_ft_aux_table 시스템
변수 값으로 설정해야 합니다 (예: test/articles).
다음 예제는 특정 테이블에 대해
FULLTEXT 인덱스 정보를 표시하기 위해
innodb_ft_aux_table 시스템
변수를 사용하는 방법을 보여줍니다.
새로 삽입된 행의 정보가
INNODB_FT_INDEX_TABLE에 나타나기 전에,
FULLTEXT 인덱스 캐시는 디스크로 플러시 되어야 합니다.
이는 인덱스된 테이블에 대해
innodb_optimize_fulltext_only
시스템 변수를 활성화한 상태로
OPTIMIZE TABLE 작업을 실행함으로써
수행됩니다. (이 예제는 해당 변수가
일시적으로만 활성화되도록 의도되었기 때문에, 마지막에
해당 변수를 다시 비활성화합니다.)
1mysql> USE test; 2 3mysql> CREATE TABLE articles ( 4 id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, 5 title VARCHAR(200), 6 body TEXT, 7 FULLTEXT (title,body) 8 ) ENGINE=InnoDB; 9 10mysql> INSERT INTO articles (title,body) VALUES 11 ('MySQL Tutorial','DBMS stands for DataBase ...'), 12 ('How To Use MySQL Well','After you went through a ...'), 13 ('Optimizing MySQL','In this tutorial we show ...'), 14 ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'), 15 ('MySQL vs. YourSQL','In the following database comparison ...'), 16 ('MySQL Security','When configured properly, MySQL ...'); 17 18mysql> SET GLOBAL innodb_optimize_fulltext_only=ON; 19 20mysql> OPTIMIZE TABLE articles; 21+---------------+----------+----------+----------+ 22| Table | Op | Msg_type | Msg_text | 23+---------------+----------+----------+----------+ 24| test.articles | optimize | status | OK | 25+---------------+----------+----------+----------+ 26 27mysql> SET GLOBAL innodb_ft_aux_table = 'test/articles'; 28 29mysql> SELECT WORD, DOC_COUNT, DOC_ID, POSITION 30 FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE LIMIT 5; 31+------------+-----------+--------+----------+ 32| WORD | DOC_COUNT | DOC_ID | POSITION | 33+------------+-----------+--------+----------+ 34| 1001 | 1 | 4 | 0 | 35| after | 1 | 2 | 22 | 36| comparison | 1 | 5 | 44 | 37| configured | 1 | 6 | 20 | 38| database | 2 | 1 | 31 | 39+------------+-----------+--------+----------+ 40 41mysql> SET GLOBAL innodb_optimize_fulltext_only=OFF;
이 테이블을 조회하려면
PROCESS
권한이 필요합니다.
이 테이블의 컬럼에 대한 데이터 타입 및 기본값을 포함한
추가 정보를 보려면 INFORMATION_SCHEMA
COLUMNS 테이블이나
SHOW COLUMNS 문을
사용하십시오.
InnoDB FULLTEXT 검색에 대한 자세한 내용은
Section 17.6.2.4, “InnoDB Full-Text Indexes” 및
Section 14.9, “Full-Text Search Functions”를
참고하십시오.
28.4.18 The INFORMATION_SCHEMA INNODB_FT_INDEX_CACHE Table
28.4.20 The INFORMATION_SCHEMA INNODB_INDEXES Table