客户的服务器的MYSQL库中有个表有100万记录数
我用ADO使用固定IP连上,然后查询 select * from 表 where 字段1 like 'mei hao' or 字段2 like '%美好%' limit 0,5
只取5条都非常的慢......
已经对某些字段建了索引,还是慢,怎么办呢

解决方案 »

  1.   

    sphinx 网上搜搜,应该满足你
      

  2.   


    select * from 表 where 字段1 ='mei hao' or 字段2 like '%美好%' limit 0,5;字段1建索引。
    like 'mei hao' 和='mei hao' 是一样的。
      

  3.   

    你可以 建临时表 一步一步查,别把条件一下子写进去,尽量用in 不用or
      

  4.   

    索引在有的情况下是不会使用的,
     如 like 查询的时候%号在第一个时不会使用
     用or条件时,字段必须在联合索引内才会使用到索引!
      

  5.   

    EXPLAIN SELECT * FROM 表 where ...看一下执行计划的type 类型,有没有走你的索引.
    不知道mysql支持不支持语句提示,像oracle一样可以强制索引:
    select /*+index(a,字段)*/ * from A a where .......
    我查了一下,好像没有这方面的信息...唉