ITPUB论坛-中国专业的IT技术社区

 找回密码
 注册
查看: 5990|回复: 11

如何快速截取一张大表数据?

[复制链接]
论坛徽章:
3
授权会员
日期:2007-07-03 23:52:20ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44优秀写手
日期:2014-03-26 05:59:55
发表于 2018-1-2 21:52 | 显示全部楼层 |阅读模式
现在有一张大表,大概几千万条记录,这张表的数据会一直变动,比如类似账户余额表,但在某个时点想截取当前值供其它系统使用,想让表锁定的时间越短越好,有什么方法比较有效呢?
认证徽章
论坛徽章:
1
目光如炬
日期:2017-12-03 22:00:01
发表于 2018-1-4 15:45 | 显示全部楼层
你的意思是几千万的数据要复制到另一个表里供其它系统使用?不明白为啥要这么做呢

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2007-07-03 23:52:20ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44优秀写手
日期:2014-03-26 05:59:55
 楼主| 发表于 2018-1-4 21:33 | 显示全部楼层
相当于我要做一个表的快照数据,表里的数据一直在变,我要每天某个时点拿出当时的数据出来进行分析

使用道具 举报

回复
认证徽章
论坛徽章:
39
目光如炬
日期:2015-05-25 17:37:25ITPUB社区OCM联盟徽章
日期:2018-03-07 13:51:55妮可·罗宾
日期:2018-01-16 16:54:11弗兰奇
日期:2017-02-17 10:52:092017金鸡报晓
日期:2017-02-08 14:09:13山治
日期:2017-02-06 11:52:14弗兰奇
日期:2017-01-11 14:37:00ITPUB15周年纪念
日期:2016-10-13 13:15:34奥运会纪念徽章:网球
日期:2016-09-26 15:05:12摩羯座
日期:2016-05-16 10:09:40
发表于 2018-1-5 09:09 | 显示全部楼层
使用DG吧,想要该表数据的时候,就把redo传输停掉,再去备库慢慢操作

使用道具 举报

回复
认证徽章
论坛徽章:
36
数据库板块每日发贴之星
日期:2008-06-23 01:01:58奥运会纪念徽章:足球
日期:2012-08-21 19:26:212013年新春福章
日期:2013-02-25 14:51:24蜘蛛蛋
日期:2013-05-03 17:38:25一汽
日期:2013-08-19 16:12:56保时捷
日期:2013-10-18 23:41:21阿斯顿马丁
日期:2013-11-11 14:17:47大众
日期:2013-11-17 16:50:19问答徽章
日期:2014-01-13 00:25:10马上有车
日期:2014-08-03 11:06:20
发表于 2018-1-5 14:10 | 显示全部楼层
mysql主从复制哟

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2007-07-03 23:52:20ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44优秀写手
日期:2014-03-26 05:59:55
 楼主| 发表于 2018-1-6 09:48 | 显示全部楼层
DG不是ORACLE的吗?主从复制我要在那个时刻把主从复制停掉,等我把数据拿过来后再恢复?这中间如果出问题了不是导致数据丢失?有人说用表dump的方式,再到另一个环境恢复这个表处理,大家觉得还有比这更好更有效率的方式吗?

使用道具 举报

回复
论坛徽章:
71
ITPUB元老
日期:2009-11-30 15:55:11授权会员
日期:2009-11-30 11:36:17ITPUB季度 技术新星
日期:2010-08-31 10:47:25优秀写手
日期:2014-12-24 06:00:14ITPUB8周年纪念徽章
日期:2009-09-27 10:21:20祖国60周年纪念徽章
日期:2009-10-09 08:28:00奔驰
日期:2013-10-20 13:32:09数据库板块每日发贴之星
日期:2008-10-03 01:02:14数据库板块每日发贴之星
日期:2009-11-23 01:01:03数据库板块每日发贴之星
日期:2010-07-27 01:01:02
发表于 2018-1-8 10:31 | 显示全部楼层
用mysqldump导出加上--single-transaction参数,这样就是一致的。

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2007-07-03 23:52:20ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44优秀写手
日期:2014-03-26 05:59:55
 楼主| 发表于 2018-1-9 22:30 | 显示全部楼层
有比导出效率更高的方式吗?毕竟导出后还原数据需要不少时间。

使用道具 举报

回复
认证徽章
论坛徽章:
11
优秀写手
日期:2014-12-31 06:00:15秀才
日期:2015-08-17 13:13:32秀才
日期:2015-08-06 13:55:21秀才
日期:2015-08-06 10:47:082014数据库大会纪念章
日期:2015-03-18 10:16:212013数据库大会纪念章
日期:2015-03-18 10:16:212012数据库大会纪念章
日期:2015-03-18 10:16:212011数据库大会纪念章
日期:2015-03-18 10:16:212010数据库技术大会纪念徽章
日期:2015-03-18 10:16:21知识
日期:2015-03-10 11:53:27
发表于 2018-1-10 13:37 | 显示全部楼层
主从本来就是可以停的,不管mysql还是oracle,操作完了,再启动主从,日志会继续拉的,不影响。

使用道具 举报

回复
论坛徽章:
2
ITPUB15周年纪念
日期:2017-05-08 10:50:44罗罗诺亚·索隆
日期:2017-05-23 13:28:33
发表于 2018-1-11 16:32 | 显示全部楼层
可以停掉从库,直接select
也可以参照mysql MVCC的原理,单开一个会话在select之前start transaction下,这样select生成一个一致性快照,占用undo较多 慎用

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表