MySQL关于orderby主键的时间优化

来源:互联网 发布:yum安装apache 编辑:程序博客网 时间:2024/06/05 10:53
本表是一个记录日志的表,维持最近7天的日志。
现在本表中含有是从11-03到11-06四天的日志。
mysql> SELECT total_time FROM log_data where log_time >= '2012-11-05 00:00:00' and log_time <= '2012-11-05 23:59:59' order by id desc limit 1;
+------------+
| total_time |
+------------+
|      0.177 |
+------------+
1 row in set (0.00 sec)

mysql> SELECT total_time FROM log_data where log_time >= '2012-11-05 00:00:00' and log_time <= '2012-11-05 23:59:59' order by id limit 1;
+------------+
| total_time |
+------------+
|      0.002 |
+------------+
1 row in set (4 min 56.88 sec)

注意:order by id desc,从最新的数据查起,可以优化查询时间,按执行顺利的话orderby是最后对结果进行排序,但是因为orderby主键,应该是mysql对orderby主键有相应的遍历方式的优化。