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. hdoj1176【DP】

    DP基础吧.A掉还是挺爽的.就是考虑在两端只能是从前一秒的内部一米或原来的点来进行,但是在5秒以内可到达点是逐渐外扩的,并不是[0,10],所以就特殊考虑了一下.后面两端是0和10,中间的点可以从上一 ...

  2. MongoDb 查看用户名列表 , 修改用户密码

    修改用户密码:  db.addUser("java","java");  查看一下所有的用户 , 查看当前Db的用户名 db.system.users.find ...

  3. 洛谷 P3960 列队【线段树】

    用动态开点线段树分别维护每一行和最后一列,线段树的作用是记录被选的点的个数以及查询第k个没被选的点,每次修改,从行里标记被选的点,从最后一列标记向左看齐之后少的点,然后用vector维护行列的新增点 ...

  4. Spring AOP SpringBoot集成

    上一篇文章<Spring AOP 面向切面编程入门>对AOP作了简要的介绍,包含一些专业术语的解释. 本文基于SpringBoot编写了一个简单的Spring AOPDemo. maven ...

  5. NOIp 2015真题模拟赛 By cellur925

    果然我还是最菜的==不接受反驳== Day1 T1:神奇的幻方 思路:直接模拟即可,由于当前放法只与上一放法有关系,用两个变量记录一下即可.10分钟内切掉== 预计得分:100分 实际得分:100分 ...

  6. 493 Reverse Pairs 翻转对

    给定一个数组 nums ,如果 i < j 且 nums[i] > 2*nums[j] 我们就将 (i, j) 称作一个重要翻转对.你需要返回给定数组中的重要翻转对的数量.示例 1:输入: ...

  7. 真tm无聊,这几天。。。

    临近期末了,每天都要和学霸一起上自习. 很不喜欢学习和自己未来没多大用的东西 老师画的那些重点是对我们好吗~ 每天感觉都在折磨自己,不想学,学不进去,心里很烦躁,浮躁. 人生苦短->_-> ...

  8. python_9(模块补充)

    第1章 re模块补充 1.1 贪婪匹配:回溯算法 1.2 .*?的用法 1.3 例:分组<name>取值 1.4 匹配整数删除小数 1.5 正则测试地址 第2章 重点模块 2.1 hash ...

  9. neo4j(图数据库)是什么?

    不多说,直接上干货! 作为一款强健的,可伸缩的高性能数据库,Neo4j最适合完整的企业部署或者用于一个轻量级项目中完整服务器的一个子集存在. 它包括如下几个显著特点: 完整的ACID支持 高可用性 轻 ...

  10. Aappcloud 调到二级页面黑屏

    PartnerHead3.html 后面多了一个点