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

关于 mysql 冷热数据分离的问题,你们是用开源脚本,还是自己撸代码

  •  
  •   chenqh · 2017-06-16 15:18:39 +08:00 · 5176 次点击
    这是一个创建于 2718 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如有一个张表,order 表一般查询的是最近 3 个月的记录,但是保留了 1 年的记录。
    现在我想把 order 表中创建时间是 3 个月之后的记录,导入到 old_order 表中。
    我自己想到的办法是撸代码,一条记录一条记录的复制过去,然后删队原始数据 。
    你们一般的做法是什么?
    
    12 条回复    2017-06-16 18:03:51 +08:00
    nybux
        1
    nybux  
       2017-06-16 16:40:00 +08:00   ❤️ 1
    不用一条条吧,直接 where 一个时间条件,用 insert into ... select 就可以了
    littleylv
        2
    littleylv  
       2017-06-16 16:44:20 +08:00
    1 楼说的对
    chenqh
        3
    chenqh  
    OP
       2017-06-16 16:52:13 +08:00
    @nybux 但是这个样子会变成手动的对吧,我的想法是变成定时任务那样 ,每天跑一点,省得我每天手动去弄,有可能某天就出错了呢
    nybux
        4
    nybux  
       2017-06-16 16:55:09 +08:00
    写成脚本,然后由 crontab 去定时调用
    jianzhiyao020
        5
    jianzhiyao020  
       2017-06-16 16:55:56 +08:00
    可以这样子,
    按照时间分表,
    新表数据量少,
    建索引量少,
    插入、检索速度快。

    冷热可以这样区分。
    2ME
        6
    2ME  
       2017-06-16 16:57:11 +08:00   ❤️ 1
    同 1 楼 一样可以定时任务 where 条件的时间灵活一点就好了
    yanze0613
        7
    yanze0613  
       2017-06-16 17:17:26 +08:00   ❤️ 1
    insert into ... select,限制每次读取的行数 然后写进 crontab
    bk201
        8
    bk201  
       2017-06-16 17:29:08 +08:00   ❤️ 1
    你还不如 3 个月就换一次表名来得快捷
    littleylv
        9
    littleylv  
       2017-06-16 17:31:22 +08:00
    @bk201 #8 这就是你的错了,要换也是“每天”,不是“每 3 个月”
    snail00
        10
    snail00  
       2017-06-16 17:38:49 +08:00   ❤️ 1
    写个存储过程, 然后用 mysql 的事件去定时执行, 我现在就在撸这个.
    chenqh
        11
    chenqh  
    OP
       2017-06-16 17:49:29 +08:00
    @snail00 好吧,写存储过程,我宁愿撸代码
    noNOno
        12
    noNOno  
       2017-06-16 18:03:51 +08:00
    时间字段上建个聚集索引不行么
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2989 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:05 · PVG 22:05 · LAX 06:05 · JFK 09:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.