.) AGAINST (expr[search_modifier])
search_modifier: { IN BOOLEAN MODE | WITHQUERY EXPANSION }
例如:SELECT * FROM tab_name WHERE MATCH (col1,col2) AGAINST(search_word);
这里的table需要是MyISAM类型的表,col1、col2需要是char、varchar或text类型,在查询之前需要在col1和col2上建立一个全文索引。
下面有一段话需要注意:
MySQL在高并发连接、数据库记录数较多的情况下,SELECT... WHERE ... LIKE '%...%'的全文搜索方式不仅效率差,而且以通配符%和_开头作查询时,使用不到索引,需要全表扫描,对数据库的压力也很大。MySQL针对这一问题提供了一种全文索引解决方案,这不仅仅提高了性能和效率(因为MySQL对这些字段做了索引来优化搜索),而且实现了更高质量的搜索。但是,至今为止,MySQL对中文全文索引无法正确支持。
--- 这个问题可以通过使用一些MYSQL中文全文检索插件来解决。
关于Oracle中的全文检索可以参考这篇文章:http://www.iteye.com/topic/1118055。
本文属于个人见解,如有疑问或者指正,欢迎讨论,谢谢!