Full-text索引

Full-text索引也就是全文索引,目前在MySQL中仅有MyISAM存储引擎支持它,但并不是所有的数据类型都支持。目前,仅有CHAR、VARCHAR和TEXT这三种数据类型的列可以建Full-text索引。

    一般来说,fulltext索引主要用来替代效率低下的LIKE‘%***%’操作。实际上,Full-text索引并不是只能简单地替代传统的全模糊LIKE操作,它能通过多字段组合的Full-text索引一次全模糊匹配多个字段。

    Full-text索引和普通的B-Tree索引实现区别较大,虽然它同样是以B-Tree形式来存放索引数据的,但是它并不是通过字段内容的完整匹配,而是通过特定的算法,将字段数据进行分割后再进行的索引。一般来说MySQL系统会按照最小4个字节来分隔。在整个Full-text索引中,存储内容被分为两部分,一部分是分隔前的索引字符串数据集合,另一部分是分隔后的词(或者词组)索引信息。所以,Full-text索引中,真正的B-Tree索引结构的叶节点中的并不是表中的原始数据,而是分词之后的索引数据。在B-Tree索引结构的节点信息中,存放了各个分隔后的词信息,以及指向包含该词的分隔前字符串信息在索引数据集合中的位置信息。

是否需要创建索引的判定标准

实际上,并没有一个非常明确的定律可以清晰地定义什么字段应该创建索引,什么字段不该创建索引。因为应用场景实在是太复杂,存在太多的差异。当然,还是仍然能够找到几点基本的判定策略来帮助分析的。

    1、较频繁的作为查询条件的字段应该创建索引
   
    提高数据查询检索的效率最有效的办法就是减少需要访问的数据量,我们知道索引正是减少通过索引键字段作为查询条件的Query的IO量之最有效手段。所以一般来说应该为较为频繁的查询条件字段创建索引。

«1»
最近发表
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
搜索
Tags列表
网站收藏
图标汇集
  • 订阅本站的 RSS 2.0 新闻聚合
友情链接

热门搜索: 外链域名 高外链域名 高收录域名

Copyright www.thyst.cn. Some Rights Reserved.