首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
V2EX  ›  MySQL

mysql 统计优化技巧

  •  
  •   blueorange · 44 天前 · 2046 次点击
    这是一个创建于 44 天前的主题,其中的信息可能已经有所发展或是发生改变。
    mysql 数据量已经达到千万级别, 目前有订单表, 查询用 sum 函数统计非常慢(大概要几分钟),有没有特别的方法来做统计 或者说优化一波
    8 回复  |  直到 2019-04-18 16:50:17 +08:00
        1
    gaius   44 天前   ♥ 1
    olap?
        2
    nilai   44 天前   ♥ 1
    分表 再加支持分布式中间件的,比如 Mycat
        3
    blueorange   44 天前
    @nilai 有在生产中使用过吗? 性能怎么样, 我先去了解了解,谢了老哥。
        4
    dapang1221   44 天前   ♥ 1
    splunk,请
        5
    ladypxy   44 天前 via iPhone   ♥ 1
        6
    CRVV   43 天前
    你的需求不够清楚

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

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

    如果筛选过后的数据量大或者没有筛选,那么这个问题用符合范式的关系型数据库不可解。
    你可以选择上 OLAP。
    也可以选择在某个地方加上汇总过的数据,这个取决于具体的需求。
        7
    Linxing   43 天前 via iPhone
    hive ?
        8
    cs8814336   37 天前
    分治的思想,假如你要统计 10 天内的数据,你可以尝试每天跑脚本, 统计 1 天内数据,这样假如你统计 10 天只需要把 10 天内的统计数据相加就行了.
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2230 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 18ms · UTC 10:59 · PVG 18:59 · LAX 03:59 · JFK 06:59
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1