全文索引详解

Mysql全文索引

前言:

Mysql有诸多索引类型,本篇详解Mysql的全文索引。

使用全文索引之前我们先看一下使用全文索引的要求
1. MySQL 5.6 以前的版本,只有 MyISAM 存储引擎支持全文索引;
2. MySQL 5.6 及以后的版本,MyISAM 和 InnoDB 存储引擎均支持全文索引;
3. 只有字段的数据类型为 char、varchar、text 及其系列才可以建全文索引。
4. Mysql提供的全文索引不支持查询中文

在使用全文索引之前看一下自己的数据库的存储引擎 字段是否可以使用
该类型的索引有什么特殊之处?
*1.该类型的索引是为了解决 like "%文字%"这类违背了索引左原则的数据查询的匹配问题.

适用业务:
查询的时候是否包含某个字符串

select * from 表名 where 字段名 like "%字符串%"

此时不能建立普通的索引,因为违背了左原则,建立了索引也会使用不了,
这个时候就用到了全文索引
下面这条Sql语句就是建立全文索引

alter table 表名 add fulltext 索引名 (字段名);

Tip:全文索引建立后like查询语句是不会使用索引的,如果使用索引就要使用全文索引自己的查询语句

select * from 表名 where match(字段名) against("%字符串%")

这里的match()和against()都是全文索引的查询函数
match()里面填写的是字段名
against()里面填写的是要查询的字符串

Tip:match() against()会返回一个0~1之间的值,也就是匹配度,查询出来的数据会按照匹配度从高至低排序

因为全文索引无法用中文,并不常用,所以就讲解到这里,了解一下就好

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值