mysql 统计优化技巧

2019-04-11 17:31:06 +08:00
 blueorange
mysql 数据量已经达到千万级别, 目前有订单表, 查询用 sum 函数统计非常慢(大概要几分钟),有没有特别的方法来做统计 或者说优化一波
5201 次点击
所在节点    MySQL
8 条回复
gaius
2019-04-11 17:33:13 +08:00
olap?
nilai
2019-04-11 17:35:12 +08:00
分表 再加支持分布式中间件的,比如 Mycat
blueorange
2019-04-11 17:40:58 +08:00
@nilai 有在生产中使用过吗? 性能怎么样, 我先去了解了解,谢了老哥。
dapang1221
2019-04-11 17:41:50 +08:00
splunk,请
ladypxy
2019-04-11 17:44:40 +08:00
CRVV
2019-04-11 21:40:46 +08:00
你的需求不够清楚

你要算哪些数据的 sum? 是全表的 sum 还是用 WHERE 筛选过的一部分的 sum?
如果是筛选过的,筛选过后有多少条数据?

如果筛选过后的数据量小,那么问题在于你的查询没有利用好索引。
你的查询有可能本身不可能被 MySQL 的索引优化,那么解决方案是上更高级的索引(比如 PostgreSQL, Elasticsearch ),或者上 OLAP。

如果筛选过后的数据量大或者没有筛选,那么这个问题用符合范式的关系型数据库不可解。
你可以选择上 OLAP。
也可以选择在某个地方加上汇总过的数据,这个取决于具体的需求。
Linxing
2019-04-12 09:48:00 +08:00
hive ?
cs8814336
2019-04-18 16:50:17 +08:00
分治的思想,假如你要统计 10 天内的数据,你可以尝试每天跑脚本, 统计 1 天内数据,这样假如你统计 10 天只需要把 10 天内的统计数据相加就行了.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/554174

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX