麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > 文庫 > 正文

InnoDB 層全文索引字典表 全面認識 information_schema

2024-09-07 22:12:55
字體:
來源:轉載
供稿:網友
  在上一篇中,我們詳細介紹了 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
  # 刪除表中的數據
  root@localhost : test 11:55:09> delete from test where id=1;
  Query OK, 2 rows affected (0.06 sec)
  # 查詢INNODB_FT_DELETED表和INNODB_FT_BEING_DELETED表中的數據,可以發現INNODB_FT_BEING_DELETED為空值,而INNODB_FT_DELETED表存放著被刪除的全文索引值
  root@localhost : test 11:56:12> select * from information_schema.INNODB_FT_DELETED;
  +--------+
  | DOC_ID |
  +--------+
  |      2 |
  |      3 |
  +--------+
 
  字段含義如下:
 
  DOC_ID:該字段表示正在被刪除的行的DOC_ID值。當對表使用OPTIMIZE TABLE語句將已刪除行的數據從FULLTEXT索引中物理刪除之前,執行了文本搜索時,此值用于跳過innodb_ft_index_table表中的行
  |  INNODB_FT_DELETED
 
  該表提供查詢從InnoDB表的FULLTEXT索引中刪除的行信息。它的存在是為了避免在InnoDB FULLTEXT索引的DML操作期間進行昂貴的索引重組操作,新刪除的全文索引中單詞的信息將單獨存儲在該表中,在執行文本搜索時從中過濾出搜索結果,該表中的信息僅在執行OPTIMIZE TABLE語句時清空
 
  該表中的信息默認不記錄,需要使用innodb_ft_aux_table選項(該選項默認值為空串)指定需要記錄哪個innodb引擎表的信息,例如:test/test
  查詢該表的賬戶需要有PROCESS權限,該表為Memory引擎臨時表
  下面是該表中存儲的信息內容
 
  # 使用innodb_ft_aux_table 選項指定包含全文索引的Innodb引擎表
  root@localhost : test 11:41:01> SET GLOBAL innodb_ft_aux_table = 'test/test';
  Query OK, 0 rows affected (0.00 sec)
  # 刪除表中的行
  root@localhost : test 11:41:24> delete from test where id=1;
  Query OK, 3 rows affected (0.02 sec)
  # 查詢INNODB_FT_DELETED表,此時INNODB_FT_DELETED表中就包含了被刪除的全文索引的DOC_ID值
  root@localhost : test 11:41:29> SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED;
  +--------+
  | DOC_ID |
  +--------+
  |      4 |
  |      5 |
  |      6 |
  |    10 |
  |    11 |
  |    12 |
  |    13 |
  +--------+
  7 rows in set (0.00 sec)
 
  該表為默認的全文索引停用詞表,提供查詢停用詞列表值。啟用停用詞表需要開啟參數innodb_ft_enable_stopword=ON,該參數默認為ON,啟用停用詞功能之后,如果innodb_ft_user_stopword_table選項(針對指定的innodb引擎表中的全文索引生效)自定義了停用詞庫表名稱值,則停用詞功能使用innodb_ft_user_stopword_table選項指定的停用詞表,如果innodb_ft_user_stopword_table選項未指定,而innodb_ft_server_stopword_table選項(針對所有的innodb引擎表中的全文索引生效)自定義了停用詞庫表名稱值,則同停用詞功能使用innodb_ft_server_stopword_table選項指定的停用詞表,如果innodb_ft_server_stopword_table選項也未指定,則使用默認的停用詞表,即INNODB_FT_DEFAULT_STOPWORD表。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产亚洲美女精品久久久2020 | 成人一区视频 | 中文字幕网站在线 | 国产毛片毛片 | 91网站免费在线观看 | 午夜激情视频网站 | 精品免费在线视频 | 久久久久免费精品国产小说色大师 | 成人在线观看网 | 日韩精品免费一区二区三区 | 激情视频免费观看 | 一级黄色毛片子 | 九色免费视频 | 一级片九九| 在线 日本 制服 中文 欧美 | 国产69精品久久久久久野外 | 色阁五月 | 日日摸夜夜添夜夜添牛牛 | 欧美日韩在线播放一区 | 亚洲人成免费 | 久久国产精品久久久久久久久久 | 色综合视频网 | 欧美成人亚洲 | 国产精品成人免费一区久久羞羞 | 久久精品视频16 | 依依成人精品视频 | 一区二区美女视频 | 亚洲aⅴ在线观看 | 毛片免费看网站 | 免费午夜视频 | 日本精品视频一区二区三区四区 | 久久精品亚洲一区二区 | 免费看欧美一级特黄a大片 久久免费视频一区二区三区 | 欧美a视频在线观看 | 91精品国产综合久久久动漫日韩 | 国产麻豆交换夫妇 | 粉嫩一区| 欧美成人一区二区三区电影 | 黄色一级片免费在线观看 | 欧美一级鲁丝片免费看 | 成年人黄视频 |