本帖最后由 haurau 于 2012-03-16 19:04:04 编辑

解决方案 »

  1.   

    贴一下你的explain SELECT COUNT(*) FROM table WHERE data_time > '2011-04-01 00:00:00' AND data_time<'2011-04-02 00:00:00' AND id IN ('333'); 和月的结果对比一下。
      

  2.   

    alter table tbname add index(DATA_TIME,ID)
      

  3.   

    EXPLAIN PARTITIONS SELECT COUNT(*) FROM table WHERE data_time > '2011-04-01 00:00:00' AND data_time<'2011-04-02 00:00:00' AND id IN ('333');
      

  4.   

    explain partions select count(*) from  
    table 
    where data_time>'2011-04-01 00:00:00'
    and data_time<'2011-04-02 00:00:00' and is in('333');
      

  5.   

    mysql确实找到了对应的分区, 分区肯定是起作用了。 索引也起作用了