索引类型FULLTEXT、NORMAL、SPATIAL、UNIQUE的区别

SQL索引的创建及使用请移步另一篇文章

(188条消息) SQL索引的创建及使用_sql索引的建立与使用_t梧桐树t的博客-CSDN博客

索引的种类

NORMAL

表示普通索引,大多数情况下都可以使用

UNIQUE

表示唯一索引,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique

FULLTEXT

表示全文索引,在检索长文本的时候,效果最好,短文本建议使用Index,但是在检索的时候数据量比较大的时候,现将数据放入一个没有全局索引的表中,然后在用Create Index创建的FullText索引,要比先为一张表建立FullText然后在写入数据要快的很多

FULLTEXT 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以。

全文索引典型的有两种类型

1.自然语言的全文索引和布尔全文索引。 自然语言搜索引擎将计算每一个文档对象和查询的相关度。这里,相关度是基于匹配的关键词的个数,以及关键词在文档中出现的次数。在整个索引中出现次数越少的词语,匹配时的相关度就越高。相反,非常常见的单词将不会被搜索,如果一个词语在超过50%的记录中都出现了,那么自然语言的搜索将不会搜索这类词语。

2.随着大数据时代的到来,关系型数据库应对全文索引的需求已力不从心,逐渐被 solr、ElasticSearch 等专门的搜索引擎所替代。

SPATIAL

表示空间索引。空间索引只能建立在空间数据类型上,这样可以提高系统获取空间数据的效率。MySQL中的空间数据类型包括 GEOMETRY、POINT、LINESTRING 和 POLYGON 等。目前只有 MyISAM 存储引擎支持空间索引,而且索引的字段不能为空值。对于初学者来说,这类索引很少会用到。

索引方法

BTREE

BTREE(B树(可以是多叉树))

HASH

HASH(key,value) 这种方式对范围查询支持得不是很好

不同的存储引擎支持的索引类型也不一样

InnoDB:支持 B-tree,Full-text 等索引,不支持 Hash 索引;

MyISAM:支持 B-tree,Full-text 等索引,不支持 Hash 索引;

Memory:支持 B-tree,Hash 等索引,不支持 Full-text 索引;

NDB:支持 Hash 索引,不支持 B-tree、Full-text 等索引;

Archive:不支持 B-tree、Hash、Full-text 等索引;

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值