您的位置:首页 > 数据库 > MySQL

[MySQL] 索引类型

2016-11-25 10:03 127 查看
MySQL的索引是由存储引擎层实现的,而不是服务器层实现的。所以,不同的存储引擎支持的索引是不一样的。

常见的索引类型

B+ 树索索引

以B树来实现,特性是非叶子结点只存储键,叶子字节存储数据(聚簇索引)或者指向数据的物理地址(非聚簇索引)。适用于全键值,键值范围,及最左前缀键只查找。

对于多列索引值只适合于最左前缀查找。

哈希索引

Memory支持哈希索引,哈希索引是基于哈希表实现的,存储引擎将所有的索引列计算出一个哈希码,并用这个哈希码指向相应的数据行。因为哈希表的特性,查询时只有精确匹配到索引的所有的列才算有效,且只能用于等值查找。

适用场景:URL查询

全文索引

提供关键字的查询,类似搜索引擎。

空间数据索引

MyISAM支持空间索引,可以用做地理位置存储。这类索引无需前缀查询,它会从所有维度来索引数据,查询时可以使用任意维度来组合查询。

对于全文索引,感觉用ElasticSearch这类的开源产品去做更适合,且ElasticSearch5.0以上也直接支持空间数据索引
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 索引