您的位置:首页 > 数据库 > MySQL

mysql全文索引

2016-06-16 18:19 260 查看
了解 solr 之后  发现全文索引也能做检索 故了解了下   笔记如下

创建全文索引

ALTER TABLE table

ADD FULLTEXT INDEX fulltext_table(列1,
列2 ,...)

查询方式

SELECT
* FROM table WHERE MATCH(列1,
列2 ,...) AGAINST('查询字符串')

注意:
查询列 要完全等于创建的全文索引列

六百万记录的表

例如
SELECT * FROM testdata WHERE MATCH(name2, name3,name4) AGAINST('dd84fe6c236a 231e3c6d 11e5') 查询时间3秒多

SELECT
* FROM testdata WHERE MATCH(name2, name3,name4) AGAINST('231e3c6d') 查询时间0.001秒

查询字符串分词越多 越慢

cto说 他对中文索引没有那么高效 ... 没去实验了

当下或者是以后技术选型 不用 全文索引的原因 

只能在MyISAM表里弄 操作锁表 阻塞其它操作 不友好 ,还不支持事务~额这个不行,,,(实在要用MyISAM的环境
这个表对外只提供查询,,插入修改之类的操作在自己的内部系统某几个人用)

全文索引只能做高级的like用,,当以后like太慢了 且表是myisam格式 可用全文索引 ,具体的复杂的句式查询还是solr高效


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 索引