当前位置: 首页 > wzjs >正文

高端建站公司源码星空传媒苏清歌孟若羽

高端建站公司源码,星空传媒苏清歌孟若羽,深圳科技网站建设,企业服务平台登录例子:如果一张表有10行记录,name字段都是“male”,现在对name建立全文索引 好的,让我们详细分析一下你描述的场景,并解释在这种情况下 INNODB_FT_INDEX_TABLE 中会存储哪些记录。 场景描述 你有一张表,包…

例子:如果一张表有10行记录,name字段都是“male”,现在对name建立全文索引

好的,让我们详细分析一下你描述的场景,并解释在这种情况下 INNODB_FT_INDEX_TABLE 中会存储哪些记录。


场景描述

  1. 你有一张表,包含 10 行记录。
  2. 每一行的 name 字段值都为 "male"
  3. name 字段创建了全文索引(FULLTEXT INDEX)。

我们需要回答的问题是:INNODB_FT_INDEX_TABLE 中会存储哪些记录?


1. 全文索引的基本原理

  • 全文索引会对字段内容进行分词处理(Tokenization),并将每个词项(term)与文档 ID (doc_id) 关联起来。
  • 在你的例子中,name 字段的内容始终是 "male",因此全文索引只会生成一个词项 "male"
  • 每一行(文档)会被分配一个唯一的 doc_id,即使它们的内容完全相同。

2. INNODB_FT_INDEX_TABLE 的结构

INNODB_FT_INDEX_TABLE 是 InnoDB 存储引擎内部的一个表,用于存储全文索引的倒排索引信息。它通常包含以下字段:

字段名含义
word词项(term),即分词后的单词或短语。
first_doc_id该词项出现的第一个文档 ID。
last_doc_id该词项出现的最后一个文档 ID。
doc_count包含该词项的文档总数。
doc_id具体包含该词项的文档 ID(每行一条记录)。

3. 示例数据

假设你的表名为 example_table,结构如下:

CREATE TABLE example_table (id INT PRIMARY KEY,name VARCHAR(50),FULLTEXT(name)
);

插入 10 条记录:

INSERT INTO example_table (id, name) VALUES
(1, 'male'),
(2, 'male'),
(3, 'male'),
(4, 'male'),
(5, 'male'),
(6, 'male'),
(7, 'male'),
(8, 'male'),
(9, 'male'),
(10, 'male');

执行以下步骤查看 INNODB_FT_INDEX_TABLE 中的信息:

(1) 设置 innodb_ft_aux_table
SET GLOBAL innodb_ft_aux_table = 'test/example_table';
(2) 查询倒排索引信息
SELECT word, first_doc_id, last_doc_id
FROM information_schema.INNODB_FT_INDEX_TABLE;

4. 查询结果分析

由于所有记录的 name 字段值都是 "male"INNODB_FT_INDEX_TABLE 中会存储以下记录:

wordfirst_doc_idlast_doc_id
male110

解释:

  • word:分词后得到的唯一词项是 "male"
  • first_doc_id"male" 出现在第一个文档(doc_id = 1)。
  • last_doc_id"male" 出现在最后一个文档(doc_id = 10)。

5. 更详细的倒排索引信息

如果你想查看更详细的倒排索引信息(例如每个文档的具体 doc_id),可以查询 INNODB_FT_INDEX_TABLE 的完整内容:

SELECT * FROM information_schema.INNODB_FT_INDEX_TABLE;

可能的输出如下:

wordfirst_doc_idlast_doc_iddoc_countdoc_id
male110101
male110102
male110103
male110104
male110105
male110106
male110107
male110108
male110109
male1101010

解释:

  • 每一行代表一个文档 ID (doc_id) 和对应的词项 "male"
  • first_doc_idlast_doc_id 是词项 "male" 覆盖的文档范围,分别为 110
  • doc_count 表示包含该词项的文档总数,在这里是 10

6. 总结

  • 即使所有记录的 name 字段值相同(如 "male"),每条记录仍然会有唯一的 doc_id
  • INNODB_FT_INDEX_TABLE 中,first_doc_idlast_doc_id 会反映该词项覆盖的文档范围。
  • 如果表中有 10 条记录,且 name 字段值都为 "male",那么:
    • first_doc_id 将是 1
    • last_doc_id 将是 10
    • doc_count 将是 10

希望这个解释能够帮助你理解 INNODB_FT_INDEX_TABLE 的工作原理!如果还有其他疑问,请随时告诉我!

http://www.dtcms.com/wzjs/564760.html

相关文章:

  • 网站开发 学习大英做网站
  • 深圳企业网站哪家强中国定制家具网
  • 企业网站建设方案行情一级a做爰片免费网站 小说
  • 在线做qq空间的网站吗做网站需要多少资金
  • 网站搜索查询设计类专业必须要美术生吗
  • 做包装盒效果图网站企业网站服务器租用
  • 公司建网站多少钱网站域名变更怎么查
  • ui设计一个月挣多少钱seo收索引擎优化
  • 制作一个网站需要什么公司做的网站费用如何做账
  • 网站定制 北京宿州网络科技有限公司
  • 做网站最好的公司保定网站开发培训
  • 申请个人网站建设徐水住房建设局网站
  • 做网站的公司好坑啊看过的网站做记号
  • 全省建设信息网站晋江论坛网站
  • 假冒网站能通过备案登记吗wordpress主题兼容
  • 网站域名注册哪家好wordpress分类编辑器
  • 全响应网站甘肃网站建站系统平台
  • 做网站推广有作用没手游网站建设
  • 深圳网站建设首选上榜网络广告设计公司总监年度总结
  • 四川建设人才网站html5网站多少钱
  • 昆明做网站公企业邮箱收费
  • 无锡招标网官方网站小米应用商店下载
  • 那个视频网站做公开课比较好家装设计网页版
  • 手机好看网站模板免费下载江西建设厅特殊工种的网站
  • 网站建设方案书编写深圳 SEO 网站建设 哪里学
  • 网站运营与建设wordpress伪静态301
  • 诏安建设局网站asp网站建设实例花网站
  • 百度如何推广网站小程序注册推广
  • 深圳宝安外贸网站建设公司wordpress4.0
  • 怎么做vip网站企业网站开发实训过程与内容