mysql 全文索引

今天 在公司 用慢查询看到 一些sql语句,慢的太不像话了,于是乎进行了些许优化,其中有一个like '%string%',用到了 全文索引,查了很多资料 ,终于搞定,查询效率 快了10倍,

1 首先 命令行   SHOW VARIABLES LIKE 'ft_min_word_len' 查看是否为  1,如果不是的话 在 my.ini /my.cnf 增加 'ft_min_word_len=1'。

ps:本人用的mac,然后修改这个值找配置文件怎么修改都不好使,折腾半天,终于找到了

一定要加在  mamp下的 file->edit template ->mysql.my.cnf 下的mysqld下,(加在最后面是没有用的)


2创建全文索引 

“ALTER TABLE `tableName` ADD FULLTEXT(`string`);”

3使用  

SELECT * FROM `tableName` WHERE MATCH(`string`) AGAINST('string' IN BOOLEAN MODE) 

Notice:  1:一定要加  “IN BOOLEAN MODE”(布尔全文搜索)  不然 如果数据重复超过50%会 出现无数据的情况。

            2: 全文索引的字段 一定要使用  ‘,’ 或者 空格 分隔,才能有效。

    3: mysql 不支持中文。

    4 mysql 好像是 5.6以前只有myisam 支持全文索引,5.6以后就全都支持了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值