› 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
NicolayShi
V2EX  ›  MySQL

请教:两亿数据的 table 做关联查询可能会崩掉 mysql,崩掉的服务器表现是什么,原因又是什么。因为我是小白,懂得不多,冒昧提问。

  •  
  •   NicolayShi · Jan 7, 2019 · 5539 views
    This topic created in 2821 days ago, the information mentioned may be changed or developed.
    如题,谢谢大佬们。
    Supplement 1  ·  Jan 8, 2019
    并不是实际业务中的问题,只是不理解 mysql 崩掉的现象和原因。
    16 replies  •  2019-01-08 16:38:20 +08:00
    Raymon111111
        1
    Raymon111111  
       Jan 7, 2019
    比如读大量数据到 buffer pool 中把要用的热点数据挤出去了, 导致其它查询变慢
    jrient
        2
    jrient  
       Jan 7, 2019
    为什么不考虑解决 2 亿数据的问题
    likuku
        3
    likuku  
       Jan 7, 2019 via iPhone
    数据分析用 db 和业务用 db 分开在不同物理机器上,不同需求求得不同的机器配置来满足,至少先这样。
    zzzzzzZ
        4
    zzzzzzZ  
       Jan 7, 2019 via Android
    9012 年了居然还有 table 能有两亿数据的吗
    t6attack
        5
    t6attack  
       Jan 7, 2019   ❤️ 1
    就算它不崩,也查不完啊。这种实际扫描全表的次数,不是做加法,而是做乘法。
    关键词:mysql join 成本
    sagaxu
        6
    sagaxu  
       Jan 7, 2019 via Android
    @zzzzzzZ 两亿并不是很大的量,真正需要分表的业务,分表之后都是单表亿级的
    chenxytw
        7
    chenxytw  
       Jan 7, 2019
    崩掉是指..... mysqld 进程 crash 么?
    byteli
        8
    byteli  
       Jan 7, 2019 via Android
    原因各种,但都离不开数据量大&机器配置捉急这个根源。建议 explain 看看执行计划,到底是哪一步量太大,想办法分步查询,或者提前 limit 大小。
    zzzzzzZ
        9
    zzzzzzZ  
       Jan 8, 2019
    @sagaxu
    哇!分完表之后还有上亿条数据的单表啊?这么厉害的吗?
    Linxing
        10
    Linxing  
       Jan 8, 2019 via iPhone
    拖慢其它查询就已经够呛了
    Rush9999
        11
    Rush9999  
       Jan 8, 2019
    有可能会遍历整表,导致临时文件巨大,然后就。。。。。。。。。。
    glacer
        12
    glacer  
       Jan 8, 2019   ❤️ 1
    首先「两亿数据的 table 做关联查询可能会崩掉 mysql 」是必现?是楼主复现过还是「据说」?
    hq136234303
        13
    hq136234303  
       Jan 8, 2019
    应该是 CPU 100%了吧。
    snnn
        14
    snnn  
       Jan 8, 2019 via Android
    2 亿乘以 2 亿等于多少?计算机什么时候也处理不了这么大级别的数据
    JamesMackerel
        15
    JamesMackerel  
       Jan 8, 2019 via iPhone
    一般可以用子查询选出两个比较小的表再 join,涉及多表的 join 可以放到业务层搞,方便扩容。
    troywinter
        16
    troywinter  
       Jan 8, 2019
    正常的业务需求不应该有这种操作,至少在 OLTP 系统中不应该有这种操作,如果是数据分析需求应该放到 OLAP 中做,不应该在在线数据库做这种事情。 至于楼上各位说的分表之后还有上亿条数据的,我表示 MySQL 在不明显影响性能的前提下的极限应该达不到亿级,千万级差不多。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   851 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 20:37 · PVG 04:37 · LAX 13:37 · JFK 16:37
    ♥ Do have faith in what you're doing.