我该如何优化这个sql:从`order`中选择count(*)where`time`> 1307894400000

时间:2011-06-13 05:20:13

标签: mysql sql

我需要获得一天的订单数量(字段“时间”是java时间戳,而表“订单”有 1,000,000条记录),我使用:

select count(*) from `order` where `time`>1307894400000 && `time`<1307980799999

此sql使用 540ms

我尝试创建索引使用字段“时间”,但仍然需要 390ms

如何优化此sql语句?

2 个答案:

答案 0 :(得分:0)

尝试使用以下内容。

order选择计数(YourPrimaryKey),其中time&gt; 1307894400000&amp;&amp; time&LT; 1307980799999

答案 1 :(得分:0)

如果仍然不够,那么您唯一的选择是partitioning表。许多数据库引擎允许指定自动分区。