求教:关于mysql中的搜索与全文检索功能

如果我有一张表
字段一:
张三
 
张 三

张三三





字段二
张三张三张三

如果我进行搜索 select * from table where 字段一 regexp ‘[张三]’or 字段二 regexp ‘[张三]’;
这样将所有结果都列出来。如果我有非常多重复的这样的记录。请问如何能加快他们的搜索速度?是否有其他方式实现?而且我想把我真正需要的‘张三’这个结果排在结果的最前面,请问如何实现?而且我需要支持模糊查询。如果我的关键字是‘张’或者‘三’也能查询出来。
关于全文检索时如何实现的。如果字段二是text或者blob的字段。内容很庞大。我如何能很快的检索到字段二有我要搜索的关键字?
谢谢

[ 本帖最后由 kisayou 于 2009-10-30 16:24 编辑 ]