MySQL各种索引类型B-Tree、R-Tree、全文索引、哈希索引

数据库 admin 1511℃ 0评论

MySQL常见的索引类型有B-Tree、哈希索引、R-Tree、全文索引和其它索引类别(TokuDB、ScaleDB、InfiniDB、Infobright……)。

不过在众多的索引类型中B-Tree和全文索引是比较常用的两种存储索引类型。

在MySQL中,索引是存储在存储引擎层而并非是服务器实现层。所以,就没有统一的标准:不同的存储引擎的索引工作

方式并不一样,也不是所以的存储引擎都支持所有类型的索引。

一、B-Tree索引

当人们在说MySQL索引时,没有特别的只明类型,那么多半是再说B-Tree索引。大多数的存储引擎都支持B-Tree。

二、哈希索引

哈希索引(hash index)基于哈希表实现的,只有精确匹配索引所有的列查询才有效。对于每一行数据,存储引擎就会

计算出该列的一个哈希码,哈希码时一个比较小的值,方便存储和匹配。

三、空间数据索引(R-Tree)

MyISAM支持空间索引,可以用作地理数据存储。

四、全文索引

全文索引是一种特殊的类型的索引,它是查找文中的关键词,而并不是直接的比较索引中的值。全文索引和其它几类

索引的匹配方式完全不一样。全文索引更类似于搜索引擎的事情,而不只是简单的WHERE条件匹配。

五、其它索引类别

除了上面的还要很多第三方提供的索引类别:TokuDB、ScaleDB、InfiniDB、Infobright……。我的能力有限就不详细的

说了,他们的出现肯定也有他们的道理和优点。

MySQL内容专区:http://tngou.yi18.net/tags/mysql

转载请注明:My House » MySQL各种索引类型B-Tree、R-Tree、全文索引、哈希索引

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址