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

MySQL 冷热数据分离一问

  •  
  •   mulog · Sep 13, 2015 · 12016 views
    This topic created in 4073 days ago, the information mentioned may be changed or developed.
    基本上来说有一个表,随时有新数据进来,但是 99.99%的访问都只是最近一周的数据。
    随着时间越来越长,这个表变得越来越大,即使有索引, query 也还是不够快。

    所以想请问有没有什么方案可以把最近一周的“新鲜”数据和老的数据分离开?
    我能想到的只有搞个 cron 每天把一周前的数据移到另一个表,但是这显然太挫了。。-_-
    14 replies  •  2018-01-08 16:16:21 +08:00
    msg7086
    msg7086
    Sep 13, 2015 via Android❤️1
    1
    挫毛,能解决问题的方案就是牛逼方案
    humiaozuzu
    humiaozuzu
    Sep 13, 2015❤️1
    2
    那就加缓存
    而且,标准做法就是 archive 旧数据,一点也不搓
    lavadore
    lavadore
    Sep 13, 2015❤️1
    3
    按时间分表或者分区咯
    kslr
    kslr
    Sep 13, 2015 via Android❤️1
    4
    一个月一张表
    9hills
    9hills
    Sep 13, 2015 via iPad❤️1
    5
    这个真的不搓,是标准做法。
    Aliencn
    Aliencn
    Sep 14, 2015❤️1
    6
    如果你是负责存储的,那就上 SSD 阵列
    如果你是负责数据库的,那就搞分区或分表
    如果你是负责 web 端的,那就写数据库的时候就按照时间自动创建表,读数据库的时候根据请求查不同的表
    brucefeng
    brucefeng
    Sep 14, 2015❤️1
    7
    @Aliencn 说的很实在。
    如果是应用层:
    1 、加缓存:这个可以缓解数据库的访问量
    2 、最近一周的数据和老数据分表。如果不想按时间自动创建表,可以一开始就两张表,一张存全量的表 A ,一张存最近一周的表 B ,使用定时任务定期清理表 B 。
    maskerTUI
    maskerTUI
    Sep 14, 2015 via Android❤️1
    8
    分表!!!!!
    jziwenchen
    jziwenchen
    Sep 14, 2015❤️1
    9
    从总表查数据 搬到一个分表去 然后不断 cron.
    realpg
    realpg
    Sep 14, 2015
    10
    分表到你这里就变成挫了……
    好吧 已经挫了十年的苦逼程序员飘过
    mulog
    mulog
    OP
    Sep 14, 2015
    11
    谢谢大家 看来暂时用 cron 搞迁移就可以了 ^^
    mulog
    mulog
    OP
    Sep 14, 2015
    12
    @realpg
    大神不要这样 情何以堪
    顺便问一下有什么工具推荐吗? 看了一下 pt-archiver 似乎还行,不知道有没有更好的?还是一般自己写脚本?
    realpg
    realpg
    Sep 14, 2015
    13
    @mulog
    MYSQL 的单表查询性能比较差的,所以分表都成基本技能了,只要做一些数据量会大一点的东西,基本大多数会涉及分表。
    coder2cooker
    coder2cooker
    Jan 8, 2018
    14
    数据迁移过程中存在频繁的删除,是否会导致表空间的浪费以及查询索引效率的降低?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   663 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 21:34 · PVG 05:34 · LAX 13:34 · JFK 16:34
    ♥ Do have faith in what you're doing.