mysql 优化 %like% 查询

2017-07-12  本文已影响0人  Vialog

mysql 使用like %name%查询时,速度很慢,CPU占用高.


select * from persons where name like "%jack%"

新版的MySQL5.6.24上InnoDB引擎加入了全文索引,可以使用全文索引方式来优化.

创建全文索引(FullText index)

CREATE TABLE article (
id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
name VARCHAR(200),
title TEXT,

FULLTEXT(name, title)

) TYPE=MYISAM;
ALTER TABLE `student` ADD FULLTEXT INDEX ft_person_name  (`name`) #ft_person_name是索引名,可以随便起

或者:

ALTER TABLE `student` ADD FULLTEXT ft_person_name  (`name`)
CREATE FULLTEXT INDEX ft_person_name ON `person` (`name`)

也可以在创建索引的时候指定索引的长度:

CREATE FULLTEXT INDEX ft_person_name ON `person` (`name`(20))
上一篇下一篇

猜你喜欢

热点阅读