mysql分区表实现全文索引_MySQL 的全文索引.

本文介绍了MySQL的全文索引及其优势,详细阐述了倒排索引的实现方式,包括辅助表和FTS Index Cache。通过示例展示了如何创建和使用全文索引,并提到了stopword列表以及全文索引的限制。
摘要由CSDN通过智能技术生成

一、为什么需要全文索引?

通过 前面的文章 我们了解到 B+ 树索引具有"最左前缀匹配"的特性,因此,对于以下查询 B+ 树索引能很好的适配。

SELECT * FROM blog WHERE content like 'xxx%'

但是 B+ 树索引对于 '%xxx%' 式的匹配却显得无能为力,而这正是全文索引的用武之地。从 InnoDB 1.2.x 版本开始,InnoDB 存储引擎开始支持全文索引。

全文检索(Full-Text Search)是将存储于数据库中的整本书或整篇文章中的任意内容信息查找出来的技术,它可以根据需要获得全文中有关章、节、段、句、词等信息,也可以进行各种统计和分析。

二、全文索引的实现?

全文索引通常使用倒排索引(inverted index)来实现。倒排索引和 B+ 树索引一样,也是一种数据结构。它在辅助表中存储了单词与单词自身在一个或多个文档中所在位置之间的映射。这通常利用关联数组来实现,其拥有两种表现形式:

inverted file index,其表现形式为 {单词,单词所在文档的 ID}

full inverted index,其表现形式为 {单词,(单词所在文档的 ID,在具体文档中的位置)}

InnoDB 存储引擎采用 full inverted index 的方式,将(DocumentId,Position)视为一个 “ilist”。因此在全文索引的表中,有两个列,一个是 word 字段,另一个是 ilist 字段,并且在 word 字段上设有索引。

另外,倒排索引还将 word 存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值