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

Time:2015/07/03 21:05:22   Click:


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的索引类别,后期会比较这些索引的优缺点,请关注天狗博客

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








TAG
TOP

四川尚狐网络@2012 版权所有
蜀ICP备12016524号-2

立即咨询
成都网站建设,成都做网站,四川尚狐网络
40f13d50b73e104f832ed1b719ae6935