了解 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高效