仅仅做一个 count 查询, 带一个 where xx = xxxx 的条件,已经很慢。有什么好办法优化Mysql的查询,目前表未加任何索引。

解决方案 »

  1.   

    你的查询语句是什么? 直接贴出来原语句,查询优化是针对某个SQL语句的,而不是针对表的。一般常用的方法有1. 添加索引
    2. 分区表
    3. 添加冗余字段。
    。。
      

  2.   


    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  3.   

    对xx加索引吧,80万数据,简单SQL语句不应该那么慢的。
      

  4.   

    看一下你的业务是读多吧!真有数据量很大时,可以读写分离。还可以放到innodb中,把缓存开大!
      

  5.   

    你的字段类型都有些啥啊。。
    BLOB和TEXT之类的字段可以分离开标 ~
      

  6.   

    还是要看 XX 字段是什么类型... BLOB 和 Text 之类即使你增加了索引,效果也不是很理想的. 
    筛选 XX 字段尽量使用数字类型.另外: 这个级别的数据量在分区基础上,进行分区查询可以减少系统比较多的资源. 
      

  7.   

    不知道大家是否听说过mysql partition table的一个比较严重的bug, 可能会导致数据丢失.
    建议先不要急着用partition table, 不要说300万, 就是3000万我觉得应当不会有问题.
    先在索引上下点功夫试试, 实在不行了再把结果发出来, 大家帮忙调调
      

  8.   

    你使用了mysql cluster了吗?公司有过例子,数据上1,000万,select的速度是比较慢的!