21.29.22 INFORMATION_SCHEMA INNODB_FT_INDEX_TABLE 테이블
INNODB_FT_INDEX_TABLE
테이블은 InnoDB
테이블의 FULLTEXT
인덱스에 대해 텍스트 검색을 처리하는 데 사용되는 전치 인덱스에 대한 정보가 표시됩니다.
이 테이블을 쿼리하기 전에 구성 변수 innodb_ft_aux_table
을 test/articles
등 FULLTEXT
인덱스를 포함하는 테이블의 이름 (데이터베이스 이름)으로 설정합니다.
관련 사용법 및 예제는 섹션 14.14.4 "InnoDB INFORMATION_SCHEMA FULLTEXT 인덱스 테이블" 을 참조하십시오.
표 21.24 INNODB_FT_INDEX_TABLE 컬럼
컬럼 이름 | 설명 |
---|---|
WORD | FULLTEXT 의 일부인 컬럼의 텍스트에서 추출 된 단어. |
FIRST_DOC_ID | FULLTEXT 인덱스에서이 단어가 처음에 표시되는 문서 ID. |
LAST_DOC_ID | FULLTEXT 인덱스에서이 단어가 마지막에 표시되는 문서 ID. |
DOC_COUNT | FULLTEXT 인덱스에서이 단어가 표시되는 행의 수. 같은 단어는 DOC_ID 값과 POSITION 값의 조합에 대해 한번씩 캐시 테이블에서 여러 번 나타날 수 있습니다. |
DOC_ID | 단어를 포함하는 행의 문서 ID. 이 값은 기본이되는 테이블에 대해 정의 된 ID 열 값을 반영하거나 테이블에 적절한 열이 포함되지 않을 때에 InnoDB 에 의해 생성 된 시퀀스 값으로 할 수 있습니다. |
POSITION | DOC_ID 값에서 식별 된 관련 문서에서이 단어의 특정 인스턴스 위치. |
참고 :
이 테이블은 처음부터 구성 변수
innodb_ft_aux_table
값을 설정할 때까지 비어 있습니다. 다음의 예는innodb_ft_aux_table
옵션을 사용하여 지정된 테이블의FULLTEXT
인덱스에 대한 정보를 표시하는 방법을 설명합니다. 새로 삽입 된 행의 정보가INNODB_FT_INDEX_TABLE
에 표시되기 전에FULLTEXT
인덱스 캐시는 디스크로 플러시해야합니다. 이것은innodb_optimize_fulltext_only=ON
으로 인덱스가 붙은 테이블에OPTIMIZE TABLE
조작에 의해 실행됩니다.mysql> use test; mysql> CREATE TABLE articles ( id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, title VARCHAR(200), body TEXT, FULLTEXT (title,body) ) ENGINE=InnoDB; mysql> INSERT INTO articles (title,body) VALUES ('MySQL Tutorial','DBMS stands for DataBase ...'), ('How To Use MySQL Well','After you went through a ...'), ('Optimizing MySQL','In this tutorial we will show ...'), ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'), ('MySQL vs. YourSQL','In the following database comparison ...'), ('MySQL Security','When configured properly, MySQL ...'); mysql> SET GLOBAL innodb_optimize_fulltext_only=ON; Query OK, 0 rows affected (0.00 sec) mysql> OPTIMIZE TABLE articles; +---------------+----------+----------+----------+ | Table | Op | Msg_type | Msg_text | +---------------+----------+----------+----------+ | test.articles | optimize | status | OK | +---------------+----------+----------+----------+ 1 row in set (0.00 sec) mysql> SET GLOBAL innodb_ft_aux_table = 'test/articles'; Query OK, 0 rows affected (0.00 sec) mysql> USE INFORMATION_SCHEMA; mysql> SELECT word, doc_count, doc_id, position FROM INNODB_FT_INDEX_TABLE LIMIT 5; +------------+-----------+--------+----------+ | word | doc_count | doc_id | position | +------------+-----------+--------+----------+ | 1001 | 1 | 4 | 0 | | after | 1 | 2 | 22 | | comparison | 1 | 5 | 44 | | configured | 1 | 6 | 20 | | database | 2 | 1 | 31 | +------------+-----------+--------+----------+
DESCRIBE
또는SHOW COLUMNS
를 사용하여 데이터 유형 및 기본값을 포함하여이 테이블의 컬럼에 대한 추가 정보를 표시합니다.이 테이블을 쿼리하려면
PROCESS
권한이 필요합니다.InnoDB
FULLTEXT
검색 자세한 내용은 섹션 14.2.13.3 "FULLTEXT 인덱스" 및 섹션 12.9 "전체 텍스트 검색 함수" 를 참조하십시오.