建立索引。
注意WHERE条件

解决方案 »

  1.   

    索引,多表,缓存,少用子查询 ,注意limit的使用 等语句优化...要不,把服务器搞的贼牛!
      

  2.   

    呵呵,100多万?小意思啦
    几千万都没啥问题,看你怎么做,怎么用了:P首先你得要求是什么样的?1秒算慢不?0.1秒行不行?甚至最好0.0x秒一次查询?其次,你得数据量可能的上限是多少?也就是你对于数据量有一个预估。再次,如果分表是否影响你的应用?(别到时候再union,merge 联合结果集或者联表什么的)
    在分表的情况下,最好的情况是,任意一个查询你能在查询前把它锁定在某一个表上。否则分表要慎重数据格式是什么样的?有没有变长字段?较长字符串有没有模糊查询?你得数据存储的方式有没有更好的方法(比如把有固定N个值得一个字段做成字典,用id关联起来)?你现有的数据是因为什么原因才慢的?慢到什么程度?数据库表创建合理不?等等吧,知道了这些以后才能进一步优化。
    如果对于简单应用的某些特定数据,即使几千万数据一张表都可能使查询速度保持在0.0x秒
    可以在网上下载mysql5.x的手册,上面有一张专门说数据库的优化。可以研究一下:P