InnoDB 层全文索引字典表 | 全方位认识 information_schema

本文深入解析InnoDB层的全文索引字典表,涵盖INNODB_FT_CONFIG、INNODB_FT_BEING_DELETED、INNODB_FT_DELETED等表,讲解如何使用和理解这些表在FULLTEXT索引中的作用,包括停用词管理、索引维护及OPTIMIZE TABLE的影响。
摘要由CSDN通过智能技术生成

在上一篇中,我们详细介绍了InnoDB 层的锁、事务、及其相关的统计信息字典表,本期我们将为大家带来系列第七篇《InnoDB 层全文索引字典表 | 全方位认识 information_schema》。

| INNODB_FT_CONFIG

该表提供查询有关InnoDB表的FULLTEXT索引和关联的元数据信息

  • 查询此表之前,需要先设置innodb_ft_aux_table='db_name/tb_name',db_name/tb_name为包含全文索引的表名和库名

  • 查询该表的账户需要有PROCESS权限,该表为Memory引擎临时表

下面是该表中存储的信息内容

root@localhost : test 11:58:58> SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG;
+---------------------------+-------+
| KEY                      | VALUE |
+---------------------------+-------+
| optimize_checkpoint_limit | 180  |
| synced_doc_id            | 0    |
| stopword_table_name      |      |
| use_stopword              | 1    |
+---------------------------+-------+
4 rows in set (0.00 sec)

字段含义如下:

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

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

PS:

  • 该表仅用于内部配置使用。并不用做统计信息

  • KEY列的值可能会根据InnoDB全文处理的性能调优和调试需求而变化。其中记录的元数据项名称值包括: 
    * optimize_checkpoint_limit:OPTIMIZE TABLE语句执行的时间,单位秒 
    * synced_doc_id:下一个要执行的DOC_ID值 
    * stopword_table_name:用户定义的保存停用词表的数据库/表名。如果未自定义停用词表,则该项记录的value列为空 
    * use_stopword:表示是否使用停用词表,该停用词表在创建FULLTEXT索引时定义,默认停用词表为INFORMATION_SCHEMA.INNODB_FT_DEFAULT_STOPWORD

| INNODB_FT_BEING_DELETED

该表仅在OPTIMIZE TABLE语句执行维护操作期间作为INNODB_FT_DELETED表的快照数据存放使用。运行OPTIMIZE TABLE语句时,会先清空INNODB_FT_BEING_DELETED表中的数据,保存INNODB_FT_DELETED表中的快照数据到INNODB_FT_BEING_DELETED表,并从INNODB_FT_DELETED表中删除DOC_ID。由于INNODB_FT_BEING_DELETED表中的内容通常生命周期较短,因此该表中的数据对于监控或者调试来说用处并不大

  • 该表中默认不记录数据,需要设置系统配置参数innodb_ft_aux_table=string(string表示db_name.tb_name字符串),并创建好全文索引,设置好停用词等

  • 查询该表的账户需要有PROCESS权限,该表为Memory引擎临时表

下面是该表中存储的信息内容

# 设置innodb_ft_aux_table系统参数
root@localhost : test 11:50:16> SET GLOBAL innodb_ft_aux_table = 'test/test';
Query OK, 0 rows affected (0.00 sec)

# 创建全文索引
root@localhost : test 11:26:30> select * from test;
+------+---------+
| id  | test    |
+------+---------+
|    1 | a b c d |
|    1 | a b c d |
|    2 | a b c d |
+------+---------+
3 rows in set (0.00 sec)

root@localhost : test 11:51:06> alter table test add fulltext i_test(test);
Query OK, 0 rows affected, 1 warning (0.13 sec)
Records: 0  Duplicates: 0  Warnings: 1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值