1. B+树结构
- 聚簇索引
- 非聚簇索引


B+树索引并不能找到一个给定键值的具体行。B+树索引能找到的只是被查找数据行所在的页。然后数据库通过把页读入到内存,再进行查找
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YhuhwA0C-1636633809960)(小白学习Mysql.assets/image-20211027225627451-5346590.png)]](https://i-blog.csdnimg.cn/blog_migrate/f579a80c195f8068c0892e8b27934c63.png)
2. 哈希索引
h(k) = k mod m,m的取值为略大于缓冲次页数量两倍的质数
冲突解决方式:链接法

自适应哈希索引经哈希函数映射到一个哈希表中,因此对千字典类型的查找非常快速,但是对于范围查找就无能为力了
3. 全文索引
全文检索通常使用倒排索引(inverted index) 来实现,也就是通过单词找句子,而不是通过句子找单词。
倒排索引通常有两种实现方式:
- inverted file index,其表现形式为{单词,{单词所在文档id}}
- full inverted index, 其表现形式为{单词,{(单词所在文档id,单词所在文档id的位置)} (mysql使用这种方式)
限制:
每张表只能有一个全文检索的索引。
不支持没有单词界定符(delimiter) 的语言,如中文、日语、韩语等。
本文深入探讨了数据库索引的三种主要类型:B+树索引,它用于快速定位数据但不直接指向具体行;哈希索引,适用于等值查找但不支持范围查询;以及全文索引,特别是倒排索引在全文检索中的应用,虽然受限于特定语言支持。了解这些索引类型对于优化数据库查询性能至关重要。
7517

被折叠的 条评论
为什么被折叠?



