一般来说都是将所有的数据放到表里再建fulltext的,搜索起来才会快,如果在有fulltext的表再插入数据会变得非常慢,另外fulltext对于在的表能很好地工作,小表没有足够的数据值来进行优化操作。
你的问题有两种解决方法:一是用drop index indexname on tablename;将fulltext index删除后,再将要插入数据插入表,最后才建fulltext index;
二是将所有的数据移植到一个没有fulltext index的表中,再建fulltext index.
你的问题有两种解决方法:一是用drop index indexname on tablename;将fulltext index删除后,再将要插入数据插入表,最后才建fulltext index;
二是将所有的数据移植到一个没有fulltext index的表中,再建fulltext index.
1,数据是不断在更新的,现在每天至少一万的数据量,不可能每次都要重建索引
2,我试过建索引也是特慢的。一个只有4万数据的表,新建fulltext索引,两个小时过去之后,还在执行,我只好把它停掉了,然后再一个一个导入。
这里有用户使用fulltext的经验,你去看看吧,肯定对你有益处,里面也提到非英文的fulltext要设置一个“stopword”
引文如下:
- If indexing text that is in other language than english, before doing anything create a stopword file for your language! (That could reduce index size about 30%)