InnoDB INFORMATION_SCHEMA FULLTEXT Index Tables

下表提供了FULLTEXT索引的元数据:

mysql> SHOW TABLES FROM INFORMATION_SCHEMA LIKE 'INNODB_FT%';

+-------------------------------------------+
| Tables_in_INFORMATION_SCHEMA (INNODB_FT%) |
+-------------------------------------------+
| INNODB_FT_CONFIG |
| INNODB_FT_BEING_DELETED |
| INNODB_FT_DELETED |
| INNODB_FT_DEFAULT_STOPWORD |
| INNODB_FT_INDEX_TABLE |
| INNODB_FT_INDEX_CACHE |
+-------------------------------------------+
  • INNODB_FT_CONFIG表显示有关InnoDB表的FULLTEXT索引和相关处理的元数据。

  • INNODB_FT_BEING_DELETED表是INNODB_FT_DELETED表的快照,仅在OPTIMIZE TABLE维护操作期间使用。 运行OPTIMIZE TABLE时,将清空INNODB_FT_BEING_DELETED表,并从INNODB_FT_DELETED表中删除DOC_ID。 由于INNODB_FT_BEING_DELETED的内容通常具有较短的生命周期,因此该表对监视或调试的实用性有限。 有关在具有FULLTEXT索引的表上运行OPTIMIZE TABLE的信息,请参见“微调MySQL全文搜索”。

  • INNODB_FT_DELETED表记录从InnoDB表的FULLTEXT索引中删除的行。为避免在InnoDB FULLTEXT索引的DML操作期间进行昂贵的索引重组,有关新删除的单词的信息将单独存储,在执行文本搜索时从搜索结果中过滤掉,并仅在发出OPTIMIZE TABLE时从主搜索索引中删除InnoDB表的声明。有关更多信息,请参阅优化InnoDB全文索引

  • INNODB_FT_DEFAULT_STOPWORD表包含在InnoDB表上创建FULLTEXT索引时默认使用的停用词列表。 有关默认InnoDB禁用词列表以及如何定义自己的禁用词列表的信息,请参见“全文停用词”。

  • INNODB_FT_INDEX_TABLE表显示有关用于处理InnoDB表的FULLTEXT索引的文本搜索的反向索引的信息。

  • INNODB_FT_INDEX_CACHE表包含有关FULLTEXT索引中新插入行的标记信息。 为避免在DML操作期间进行昂贵的索引重组,有关新索引词的信息将单独存储,并且仅在运行OPTIMIZE TABLE时,服务器关闭时或缓存大小超过由innodb_ft_cache_sizeinnodb_ft_total_cache_size

7. INNODB_FT_BEING_DELETED

INNODB_FT_BEING_DELETED表是INNODB_FT_DELETED表的快照,仅在OPTIMIZE TABLE维护操作期间使用。 运行OPTIMIZE TABLE时,将清空INNODB_FT_BEING_DELETED表,并从INNODB_FT_DELETED表中删除DOC_ID。 由于INNODB_FT_BEING_DELETED的内容通常具有较短的生命周期,因此该表对监视或调试的实用性有限。 有关在具有FULLTEXT索引的表上运行OPTIMIZE TABLE的信息,请参见“微调MySQL全文搜索”。

此表最初显示为空,直到您设置配置变量innodb_ft_aux_table的值。 输出类似于为INNODB_FT_DELETED表提供的示例。

有关相关用法信息和示例,请参见“InnoDB INFORMATION_SCHEMA FULLTEXT索引表”。

INNODB_FT_BEING_DELETED表有以下列:

mysql> desc INNODB_FT_BEING_DELETED;
+--------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------------------+------+-----+---------+-------+
| DOC_ID | bigint(21) unsigned | NO | | 0 | |
+--------+---------------------+------+-----+---------+-------+
1 row in set (0.00 sec)
  • DOC_ID:正在删除的行的文档ID。 此值可能反映您为基础表定义的ID列的值,或者它可以是InnoDB在表不包含合适的列时生成的序列值。 此值用于跳过innodb_ft_index_table表中的行,当您通过OPTIMIZE TABLE语句从FULLTEXT索引中物理删除已删除行的数据之前进行文本搜索时。 有关更多信息,请参阅优化InnoDB全文索引

Notes

  • 您必须具有PROCESS权限才能查询此表。

  • 使用INFORMATION_SCHEMA COLUMNS表或SHOW COLUMNS语句查看有关此表的列的其他信息,包括数据类型和默认值。

  • 有关InnoDB FULLTEXT搜索的更多信息,请参见“InnoDB FULLTEXT索引”和“全文搜索函数”。

8. INNODB_FT_CONFIG

INNODB_FT_CONFIG表显示有关InnoDB表的FULLTEXT索引和相关处理的元数据。

在查询此表之前,请将配置变量innodb_ft_aux_table设置为包含FULLTEXT索引的表的名称(包括数据库名称),例如test / articles。

有关相关用法信息和示例,请参见“InnoDB INFORMATION_SCHEMA FULLTEXT索引表”。

INNODB_FT_CONFIG表包含以下列:

  • KEY:指定包含FULLTEXT索引的InnoDB表的元数据项的名称。

  • VALUE:与相应KEY列关联的值,反映InnoDB表的FULLTEXT索引方面的某些限制或当前值。

Notes

  • 此表仅用于内部配置。它不用于统计信息目的。

  • 您必须具有PROCESS权限才能查询此表。

  • 使用INFORMATION_SCHEMA COLUMNS表或SHOW COLUMNS语句查看有关此表的列的其他信息,包括数据类型和默认值。

  • KEY列的值可能会根据InnoDB全文处理的性能调整和调试需求而发展。关键价值包括:

  • optimize_checkpoint_limit:运行OPTIMIZE TABLE的秒数。

  • synced_doc_id:要发布的下一个DOC_ID。

  • stopword_table_name:用户定义的停用词表的数据库/表名。如果没有用户定义的停用词表,则该字段显示为空。

  • use_stopword:指示是否使用了一个停用词表,该表是在创建FULLTEXT索引时定义的。

  • 有关InnoDB FULLTEXT搜索的更多信息,请参见“InnoDB FULLTEXT索引”和“全文搜索函数”。

示例

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG;
+---------------------------+-------------------+
| KEY | VALUE |
+---------------------------+-------------------+
| optimize_checkpoint_limit | 180 |
| synced_doc_id | 0 |
| stopword_table_name | test/my_stopwords |
| use_stopword | 1 |
+---------------------------+-------------------+

9. INNODB_FT_DEFAULT_STOPWORD

INNODB_FT_DEFAULT_STOPWORD表包含在InnoDB表上创建FULLTEXT索引时默认使用的停用词列表。 有关默认InnoDB禁用词列表以及如何定义自己的禁用词列表的信息,请参见“全文停用词”。

有关相关用法信息和示例,请参见“InnoDB INFORMATION_SCHEMA FULLTEXT索引表”。

INNODB_FT_DEFAULT_STOPWORD表包含以下列:

Notes

  • 您必须具有PROCESS权限才能查询此表。

  • 使用INFORMATION_SCHEMA COLUMNS表或SHOW COLUMNS语句查看有关此表的列的其他信息,包括数据类型和默认值。

  • 有关InnoDB FULLTEXT搜索的更多信息,请参见“InnoDB FULLTEXT索引”和“全文搜索函数”。

示例

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DEFAULT_STOPWORD;
+-------+
| value |
+-------+
| a |
| about |
| an |
| are |
| as |
| at |
| be |
| by |
| com |
| de |
| en |
| for |
| from |
| how |
| i |
| in |
| is |
| it |
| la |
| of |
| on |
| or |
| that |
| the |
| this |
| to |
| was |
| what |
| when |
| where |
| who |
| will |
| with |
| und |
| the |
| www |
+-------+
36 rows in set (0.00 sec)

10. INNODB_FT_DELETED

INNODB_FT_DELETED表记录从InnoDB表的FULLTEXT索引中删除的行。为避免在InnoDB FULLTEXT索引的DML操作期间进行昂贵的索引重组,有关新删除的单词的信息将单独存储,在执行文本搜索时从搜索结果中过滤掉,并仅在发出OPTIMIZE TABLE时从主搜索索引中删除InnoDB表的声明。有关更多信息,请参阅优化InnoDB全文索引

此表最初显示为空,直到您将配置变量innodb_ft_aux_table的值设置为包含FULLTEXT索引的表的名称(包括数据库名称),例如test/articles

有关相关用法信息和示例,请参见“InnoDB INFORMATION_SCHEMA FULLTEXT索引表”。

INNODB_FT_DELETED表包含以下列:

  • DOC_ID

    新删除的行的文档ID。此值可能反映您为基础表定义的ID列的值,或者它可以是InnoDB在表不包含合适的列时生成的序列值。此值用于跳过innodb_ft_index_table表中的行,当您通过OPTIMIZE TABLE语句从FULLTEXT索引中物理删除已删除行的数据之前进行文本搜索时。有关更多信息,请参阅优化InnoDB全文索引。

Notes

  • 您必须具有PROCESS权限才能查询此表。

  • 使用INFORMATION_SCHEMA COLUMNS表或SHOW COLUMNS语句查看有关此表的列的其他信息,包括数据类型和默认值。

  • 有关InnoDB FULLTEXT搜索的更多信息,请参见“InnoDB FULLTEXT索引”和“全文搜索函数”。

示例

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED;
+--------+
| DOC_ID |
+--------+
| 6 |
| 7 |
| 8 |
+--------+

11. INNODB_FT_INDEX_CACHE

INNODB_FT_INDEX_CACHE表包含有关FULLTEXT索引中新插入行的标记信息。 为避免在DML操作期间进行昂贵的索引重组,有关新索引词的信息将单独存储,并且仅在运行OPTIMIZE TABLE时,服务器关闭时或缓存大小超过由innodb_ft_cache_sizeinnodb_ft_total_cache_size

在查询此表之前,请将配置变量innodb_ft_aux_table设置为包含FULLTEXT索引的表的名称(包括数据库名称),例如test / articles。

有关相关用法信息和示例,请参见“InnoDB INFORMATION_SCHEMA FULLTEXT索引表”。

INNODB_FT_INDEX_CACHE表包含以下列:

  • WORD :从新插入的行的文本中提取的单词。
  • FIRST_DOC_ID:此单词出现在FULLTEXT索引中的第一个文档ID。
  • LAST_DOC_ID :此单词出现在FULLTEXT索引中的最后一个文档ID。
  • DOC_COUNT :此单词出现在FULLTEXT索引中的行数。在缓存表中可以多次出现相同的单词,对于DOC_ID和POSITION值的每个组合一次。
  • DOC_ID :新插入行的文档ID。此值可能反映您为基础表定义的ID列的值,或者它可以是InnoDB在表不包含合适的列时生成的序列值。
  • POSITION :由DOC_ID值标识的相关文档中该单词的该特定实例的位置。该值不代表绝对位置;它是添加到该单词的前一个实例的POSITION的偏移量。

Notes

  • 此表最初显示为空,直到您设置配置变量innodb_ft_aux_table的值。 以下示例演示如何使用innodb_ft_aux_table选项显示有关指定表的FULLTEXT索引的信息。
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_ft_aux_table = 'test/articles';
Query OK, 0 rows affected (0.00 sec) mysql> select * from test.articles;
+----+-----------------------+------------------------------------------+
| id | title | body |
+----+-----------------------+------------------------------------------+
| 1 | MySQL Tutorial | DBMS stands for DataBase ... |
| 2 | How To Use MySQL Well | After you went through a ... |
| 3 | Optimizing MySQL | In this tutorial we will show ... |
| 4 | 1001 MySQL Tricks | 1. Never run mysqld as root. 2. ... |
| 5 | MySQL vs. YourSQL | In the following database comparison ... |
| 6 | MySQL Security | When configured properly, MySQL ... |
+----+-----------------------+------------------------------------------+ mysql> USE INFORMATION_SCHEMA; mysql> SELECT * FROM INNODB_FT_INDEX_CACHE;
+------------+--------------+-------------+-----------+--------+----------+
| WORD | FIRST_DOC_ID | LAST_DOC_ID | DOC_COUNT | DOC_ID | POSITION |
+------------+--------------+-------------+-----------+--------+----------+
| 1001 | 5 | 5 | 1 | 5 | 0 |
| after | 3 | 3 | 1 | 3 | 22 |
| comparison | 6 | 6 | 1 | 6 | 44 |
| configured | 7 | 7 | 1 | 7 | 20 |
| database | 2 | 6 | 2 | 2 | 31 |
| database | 2 | 6 | 2 | 6 | 35 |
| dbms | 2 | 2 | 1 | 2 | 15 |
| following | 6 | 6 | 1 | 6 | 25 |
| mysql | 2 | 7 | 6 | 2 | 0 |
| mysql | 2 | 7 | 6 | 3 | 11 |
| mysql | 2 | 7 | 6 | 4 | 11 |
| mysql | 2 | 7 | 6 | 5 | 5 |
| mysql | 2 | 7 | 6 | 6 | 0 |
| mysql | 2 | 7 | 6 | 7 | 0 |
| mysql | 2 | 7 | 6 | 7 | 41 |
| mysqld | 5 | 5 | 1 | 5 | 31 |
| never | 5 | 5 | 1 | 5 | 21 |
| optimizing | 4 | 4 | 1 | 4 | 0 |
| properly | 7 | 7 | 1 | 7 | 31 |
| root | 5 | 5 | 1 | 5 | 41 |
| run | 5 | 5 | 1 | 5 | 27 |
| security | 7 | 7 | 1 | 7 | 6 |
| show | 4 | 4 | 1 | 4 | 42 |
| stands | 2 | 2 | 1 | 2 | 20 |
| through | 3 | 3 | 1 | 3 | 37 |
| tricks | 5 | 5 | 1 | 5 | 11 |
| tutorial | 2 | 4 | 2 | 2 | 6 |
| tutorial | 2 | 4 | 2 | 4 | 25 |
| use | 3 | 3 | 1 | 3 | 7 |
| well | 3 | 3 | 1 | 3 | 17 |
| went | 3 | 3 | 1 | 3 | 32 |
| you | 3 | 3 | 1 | 3 | 28 |
| yoursql | 6 | 6 | 1 | 6 | 10 |
+------------+--------------+-------------+-----------+--------+----------+
33 rows in set (0.00 sec)

12. INNODB_FT_INDEX_TABLE

INNODB_FT_INDEX_TABLE表显示有关用于处理InnoDB表的FULLTEXT索引的文本搜索的反向索引的信息。

在查询此表之前,请将配置变量innodb_ft_aux_table设置为包含FULLTEXT索引的表的名称(包括数据库名称),例如test/articles

有关相关用法信息和示例,请参见“InnoDB INFORMATION_SCHEMA FULLTEXT索引表”。

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值标识的相关文档中该单词的该特定实例的位置。

Notes

  • 此表最初显示为空,直到您设置配置变量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 |
+---------------+----------+----------+----------+ 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 |
+------------+-----------+--------+----------+
  • 您必须具有PROCESS权限才能查询此表。

  • 使用INFORMATION_SCHEMA COLUMNS表或SHOW COLUMNS语句查看有关此表的列的其他信息,包括数据类型和默认值。

  • 有关InnoDB FULLTEXT搜索的更多信息,请参见“InnoDB FULLTEXT索引”和“全文搜索函数”。

InnoDB INFORMATION_SCHEMA FULLTEXT Index Tables的更多相关文章

  1. InnoDB INFORMATION_SCHEMA Buffer Pool Tables

    InnoDB INFORMATION_SCHEMA Buffer Pool Tables InnoDB INFORMATION_SCHEMA缓冲池表提供有关InnoDB缓冲池中页面的缓冲池状态信息和元 ...

  2. InnoDB INFORMATION_SCHEMA System Tables

    InnoDB INFORMATION_SCHEMA System Tables 可以使用InnoDB INFORMATION_SCHEMA系统表提取有关InnoDB管理的schema对象的元数据. 此 ...

  3. InnoDB INFORMATION_SCHEMA Lock Tables

    InnoDB INFORMATION_SCHEMA Lock Tables 三张InnoDB INFORMATION_SCHEMA表使您能够监视事务并诊断潜在的锁定问题: INNODB_TRX:提供有 ...

  4. InnoDB INFORMATION_SCHEMA Tables about Compression

    InnoDB INFORMATION_SCHEMA Tables about Compression 了解关于压缩的InnoDB INFORMATION_SCHEMA表,可以深入了解压缩的整体运行情况 ...

  5. MySQL使用全文索引(fulltext index)---高性能

    转载地址:https://blog.csdn.net/u011734144/article/details/52817766/ 1.创建全文索引(FullText index) 旧版的MySQL的全文 ...

  6. MySQL使用全文索引(fulltext index)

    1.创建全文索引(FullText index) 旧版的MySQL的全文索引只能用在MyISAM表格的char.varchar和text的字段上. 不过新版的MySQL5.6.24上InnoDB引擎也 ...

  7. InnoDB INFORMATION_SCHEMA Temporary Table Info Table

    InnoDB INFORMATION_SCHEMA Temporary Table Info Table INNODB_TEMP_TABLE_INFO提供有关InnoDB实例中当前活动的用户创建的In ...

  8. 在MYSQL中运用全文索引(FULLTEXT index)

    在MYSQL中使用全文索引(FULLTEXT index) MYSQL的一个很有用的特性是使用全文索引(FULLTEXT index)查找文本的能力.目前只有使用MyISAM类型表的时候有效(MyIS ...

  9. InnoDB INFORMATION_SCHEMA Metrics Table

    InnoDB INFORMATION_SCHEMA Metrics Table INNODB_METRICS表将所有InnoDB性能和资源相关计数器合并到一个INFORMATION_SCHEMA表中. ...

随机推荐

  1. poj1511【最短路spfa】

    题意: 计算从源点1到各点的最短路之和+各点到源点1的最短路之和: 思路: 源点这个好做啊,可是各点到源点,转个弯就是反向建边然后求一下源点到各点的最短路,就是各点到源点的最短路,在两幅图里搞: 贴一 ...

  2. python property的2种使用方法

    一.property类 class Person(): def __init__(self, name): self.set_name(name) def get_name(self): return ...

  3. iOS 设置UITextView的Placeholder

    代码如下: - (void)setupTextView { UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0, ...

  4. [AHOI2005]病毒检测

    Description 科学家们在Samuel星球上的探险仍在继续.非常幸运的,在Samuel星球的南极附近,探险机器人发现了一个巨大的冰湖!机器人在这个冰湖中搜集到了许多RNA片段运回了实验基地.科 ...

  5. 字符串处理 Codeforces Round #297 (Div. 2) B. Pasha and String

    题目传送门 /* 题意:给出m个位置,每次把[p,len-p+1]内的字符子串反转,输出最后的结果 字符串处理:朴素的方法超时,想到结果要么是反转要么没有反转,所以记录 每个转换的次数,把每次要反转的 ...

  6. h5-19-文件操作-文件域

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. python_函数进阶(5)

    第1章 函数有用信息1.1 login.__doc__1.2 login.__name__第2章 装饰器的进阶2.1 带参数的装饰器2.2 多个装饰器装饰一个函数2.3 开放封闭原则 第3章 可迭代对 ...

  8. hash 【模板】

    hash 功能: hash一般用于快速判断两个或多个字符串是否匹配. 实现 :    想一想,如果比较两个数子的话是很方便的很快,那么我们把整个字符串看成一个大数.  它是base进制的len位数.但 ...

  9. TextView、EditText

    1.TextView     显示文本信息 常用属性: layout_width/height    控件的宽/高 width/heigth    文本区域的宽/高 text 显示的文本 textSi ...

  10. 初次使用引用外部js心得

    在外部引用自己编辑的js时建立链接写在头部中是会出错的,如下图 错误如下: 这是一个是我初学时遇到的一个算是低级错误吧,看到这个错误,我以为的是我引用的js中编辑的代码是不是哪里写错了,但是看了好多遍 ...