mysql 单表数据过大最好的处理方式 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
blueorange
V2EX    程序员

mysql 单表数据过大最好的处理方式

  •  
  •   blueorange 2019-04-01 09:25:13 +08:00 via Android 9436 次点击
    这是一个创建于 2392 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已经严重影响查询性能,纯粹添加索引会影响插入性能,请问还有其他方式么

    25 条回复    2019-04-02 16:07:13 +08:00
    blueorange
        1
    blueorange  
    OP
       2019-04-01 09:25:40 +08:00 via Android
    已经达到千万级别
    jyounn
        2
    jyounn  
       2019-04-01 09:28:18 +08:00
    分区
    lhx2008
        3
    lhx2008  
       2019-04-01 09:29:04 +08:00 via Android
    先加索引啊,不加索引你事务插入要锁表的
    zuoakang
        4
    zuoakang  
       2019-04-01 09:29:19 +08:00 via Android
    分区,分表,分库。
    reus
        5
    reus  
       2019-04-01 09:32:26 +08:00   1
    千万不算过大
    索引该用就用
    jabin88
        6
    jabin88  
       2019-04-01 09:37:51 +08:00
    同步到 mongodb 或者 es,这样就不用查 mysql 了,再多 10 倍都可以
    blueorange
        7
    blueorange  
    OP
       2019-04-01 09:54:50 +08:00
    @jabin88 有什么好的方案实时同步吗?
    dapang1221
        8
    dapang1221  
       2019-04-01 09:58:01 +08:00
    比较好奇以前不加索引你是怎么查的……语句都是全表扫么……
    ducklyl
        9
    ducklyl  
       2019-04-01 10:51:20 +08:00
    如果只是影响查询性能,可以把数据同步到 es 或 solr,使用全文检索提高查询性能
    sujin190
        10
    sujin190  
       2019-04-01 11:37:25 +08:00
    如果只是 4 到 5 项索引,写性能影响不大吧,除非你写特别多,如果每秒过千的写,估计也不是单表千万数据的问题了
    千万级别对 mysql 数据真不算大,如果索引超过内存很多,倒是可以多加点内存,索引和查询缓存的效果还是很明显的
    chaleaochexist
        11
    chaleaochexist  
       2019-04-01 11:45:59 +08:00
    分区.分表.分库.
    opengps
        12
    opengps  
       2019-04-01 11:47:57 +08:00
    每月重复一次。如果不是分布式 DRDS 那种方案的话:
    先考虑表分区
    然后考虑分表
    然后考虑分库
    blueskea
        13
    blueskea  
       2019-04-01 12:08:50 +08:00 via Android
    拆表,分区,读写分离,canal 同步到 hive es tidb 之类
    opengps
        14
    opengps  
       2019-04-01 12:12:28 +08:00
    补上我的经历: https://www.opengps.cn/Blog/View.aspx?id=284
    GPS 密集写入案例:单机数据库阶段,sql server 使用表分区,线上应用最大单日写入 1500 万行,最大单表大小 12 亿
    没有更高实际应用数值的原因是替换了别的数据库
    mmdsun
        15
    mmdsun  
       2019-04-01 12:46:56 +08:00 via Android
    单表行数超过 500 万行或者单表容量超过 2 GB,推荐进行分库分表。
    qianji201712
        16
    qianji201712  
       2019-04-01 12:47:28 +08:00
    @opengps 大佬,学习了!
    opengps
        17
    opengps  
       2019-04-01 12:52:53 +08:00
    @qianji201712 怪我嘴拙,当时是 2012 年,设计这张表的时候不会写文章,至今才整理成可以让人看懂的文字
    iyaozhen
        18
    iyaozhen  
       2019-04-01 13:05:51 +08:00 via Android
    要看几千万还有未来的趋势,1 亿以下表分区就行了。

    再多就要分库分表了,业务层也需要改动
    love
        19
    love  
       2019-04-01 13:10:37 +08:00
    现在都 ssd,千万算个啥,除非你没索引全表扫描了
    hilbertz
        20
    hilbertz  
       2019-04-01 13:14:55 +08:00
    128g 内存,ssd 硬盘,几十亿都没问题
    Radom
        21
    Radom  
       2019-04-01 14:17:55 +08:00
    千万也算大?
    mineqiqi
        22
    mineqiqi  
       2019-04-01 14:37:13 +08:00
    千万级别的加索引完全能解决
    Joyboo
        23
    Joyboo  
       2019-04-01 14:44:07 +08:00
    还以为是每日千万级别。。
    sean328
        24
    sean328  
       2019-04-01 23:57:08 +08:00
    不推荐分区,千万级别数据单表索引合理日常增删改查完全是没问题的,再多的话再考虑分表分库
    Evilk
        25
    Evilk  
       2019-04-02 16:07:13 +08:00
    之前单表数据在 5000W 左右,用的分区,后面如果持续增长的话,可以考虑 es,分表.分库不太建议,业务层也要改动,成本太高
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2569 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 12:05 PVG 20:05 LAX 05:05 JFK 08:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86