我想请教大家一个问题
目前准备开发在线进销存软件,想为每一个注册用户分配一个数据库,但大家又说这样不合理
但是如果做成一个库的话,因为每个商家都有几千个产品,这样的话一个产品表的数据很容易就达到了上百万了,我测试了一下,虽然已经建立了索引和全文搜索,但是模糊搜索还是要花近10秒,实在无法接受,大家有什么好的建议吗
测试数据库是mysql 5.0 

解决方案 »

  1.   

    为name字段创建了索引,全文索引,查询是这样查的
    select from person where name like '%张%'
    分页查出1000记录,用时800ms
      

  2.   

    select from person where name like '%张%' 这个语句并没有利用全文索引http://dev.mysql.com/doc/refman/5.1/zh/functions.html#fulltext-search
    12.7. 全文搜索功能
    12.7.1. 布尔全文搜索
    12.7.2. 全文搜索带查询扩展
    12.7.3. 全文停止字
    12.7.4. 全文限定条件
    12.7.5. 微调MySQL全文搜索你这种情况并不合适使用全文搜索功能,并且这种 like '%pattern%' 几乎无法优化。
      

  3.   

    大量数据模糊查询建议使用全文索引,我的搜索引擎就这么做的
    sql语句应该是select * from tablename where contains(feildname,'keyword')>0
    看着下边这篇文章配置就好了:
    http://www.searchdatabase.com.cn/ShowContent_20126.htm