• 请不要在回答技术问题时复制粘贴 AI 生成的内容
blueorange
V2EX  ›  程序员

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

  •  
  •   blueorange · Apr 1, 2019 via Android · 10061 views
    This topic created in 2785 days ago, the information mentioned may be changed or developed.

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

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

    再多就要分库分表了,业务层也需要改动
    love
    love
    Apr 1, 2019
    19
    现在都 ssd,千万算个啥,除非你没索引全表扫描了
    hilbertz
    hilbertz
    Apr 1, 2019
    20
    128g 内存,ssd 硬盘,几十亿都没问题
    Radom
    Radom
    Apr 1, 2019
    21
    千万也算大?
    mineqiqi
    mineqiqi
    Apr 1, 2019
    22
    千万级别的加索引完全能解决
    Joyboo
    Joyboo
    Apr 1, 2019
    23
    还以为是每日千万级别。。
    CANTI
    CANTI
    Apr 1, 2019
    24
    不推荐分区,千万级别数据单表索引合理日常增删改查完全是没问题的,再多的话再考虑分表分库
    Evilk
    Evilk
    Apr 2, 2019
    25
    之前单表数据在 5000W 左右,用的分区,后面如果持续增长的话,可以考虑 es,分表.分库不太建议,业务层也要改动,成本太高
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1162 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 23:47 · PVG 07:47 · LAX 15:47 · JFK 18:47
    ♥ Do have faith in what you're doing.