select count(1) 统计太慢,怎么优化?
我有一张表400w+数据,单表查询都很慢,当关联时就更慢了。 请问还有什么可以优化的方法吗?
mysql> select count(1) from test;
count(1)
+----------+
4429754
1 row in set (1.39 sec)
单表统计需要这么长时间。按时间段查询,也一样很慢。
mysql> select count(1) from test f where f.createdDate >= '2015-01-01 00:00:00' and f.createdDate <= '2015-12-15 23:59:59';
count(1)
+----------+
2584387
1 row in set (1.08 sec)
createdDate是datetime类型,我按年份分区过。
ALTER TABLE test PARTITION BY RANGE(to_days(createdDate))(
PARTITION p20120101 VALUES LESS THAN (to_days('2012-01-01 00:00:00')),
PARTITION p20130101 VALUES LESS THAN (to_days('2013-01-01 00:00:00')),
PARTITION p20140101 VALUES LESS THAN (to_days('2014-01-01 00:00:00')),
PARTITION p20150101 VALUES LESS THAN (to_days('2015-01-01 00:00:00')),
PARTITION p20160101 VALUES LESS THAN (to_days('2016-01-01 00:00:00')),
PARTITION p20170101 VALUES LESS THAN (to_days('2017-01-01 00:00:00'))
);
请问还有什么可以优化的吗?
相关阅读:
WebStorm输入中文标点符号的问题
vue 、 vue-resource 同步问题
phantomjs获取到的网页内容中包含很多个A
MySql字段加1出错
github - git push 提示用户无权限,返回403
关于用 git rebase -i HEAD 修改之前某一次已经 commit 的代码
php解析Kindeditor中内容分页问题
js中如何获取一个函数的参数列表
webpack CommonsChunkPlugin插件配置问题
在frame中使用fancybox插件弹出新窗口时,有办法使这个新窗口偏移到frame外,并且使他宽高比frame尺寸大吗?
为什么简单的获取一个空的字符串会报空指针错误?
如何使php的MD5与C#的MD5一致?
JSP中 post url地址重写or action如何实现
用js把一个字符串转成number,不用内置parseInt方法
Python的Mixin有语法约束吗?还是就是巧妙的运用了多重继承来实现的?
关于实时监控网站或微信公众号的信息
nginx+fastdfs多线程下载
Javascript Json 数据提取并且转换问题
yii自定义rules,参数传递
Chrome浏览器中收藏的网址怎样导进到QQ浏览器?