1 查出所有数据 2 将数据划分为十块 3 每块数据中启动一个线程,采用批量插入的方式进行插入
用kettle
1分钟感觉基本不可能啊,1000w的数据,如果是数据文件的话得有多大,传递这么大的数据量,io耗时可不是随便说说的
[quote=引用 11 楼 雨中客888 的回复:] [quote=引用 10 楼 冬雪晶 的回复:] [quote=引用 9 楼 雨中客888 的回复:] 1、用java代码实现绝对会超过1分钟,这个很稳。 2、编写脚本自动导出mysql数据,然后在自动imp导入oracle,一分钟仍然很难,尤其是你的数据是不是内容大(不是条数,是字段多少和字段内容大小)。 3、ETL工具实现数据抽取(我的实际项目中如果需要将A数据库的内容同步到B数据库,并同步频率很高,甚至是5分钟一次,在甲方允许的情况下,都会采用此种策略),但是千万的数据一次性同步,并没有遇到这种需求,因此题主可以看一看。
[quote=引用 10 楼 冬雪晶 的回复:] [quote=引用 9 楼 雨中客888 的回复:] 1、用java代码实现绝对会超过1分钟,这个很稳。 2、编写脚本自动导出mysql数据,然后在自动imp导入oracle,一分钟仍然很难,尤其是你的数据是不是内容大(不是条数,是字段多少和字段内容大小)。 3、ETL工具实现数据抽取(我的实际项目中如果需要将A数据库的内容同步到B数据库,并同步频率很高,甚至是5分钟一次,在甲方允许的情况下,都会采用此种策略),但是千万的数据一次性同步,并没有遇到这种需求,因此题主可以看一看。
[quote=引用 6 楼 黑#猪 的回复:] 可以把mysql的数据生成insert语句另存为成一个sql文件,然后用oracle的imp命令导入。
可以把mysql的数据生成insert语句另存为成一个sql文件,然后用oracle的imp命令导入。
[quote=引用 9 楼 雨中客888 的回复:] 1、用java代码实现绝对会超过1分钟,这个很稳。 2、编写脚本自动导出mysql数据,然后在自动imp导入oracle,一分钟仍然很难,尤其是你的数据是不是内容大(不是条数,是字段多少和字段内容大小)。 3、ETL工具实现数据抽取(我的实际项目中如果需要将A数据库的内容同步到B数据库,并同步频率很高,甚至是5分钟一次,在甲方允许的情况下,都会采用此种策略),但是千万的数据一次性同步,并没有遇到这种需求,因此题主可以看一看。
1、用java代码实现绝对会超过1分钟,这个很稳。 2、编写脚本自动导出mysql数据,然后在自动imp导入oracle,一分钟仍然很难,尤其是你的数据是不是内容大(不是条数,是字段多少和字段内容大小)。 3、ETL工具实现数据抽取(我的实际项目中如果需要将A数据库的内容同步到B数据库,并同步频率很高,甚至是5分钟一次,在甲方允许的情况下,都会采用此种策略),但是千万的数据一次性同步,并没有遇到这种需求,因此题主可以看一看。
这个有点难啊。。 java捞1000w数据,再插入到另一个库,我赌5毛钱,1分钟搞不定。。。 手动的话,要导出1000w的数据量文件,再导入到oracle,好像也无法1分钟搞定。。 只能提一些优化建议: 这1千万数据,不要在一个表里生成。 可以考虑分表,比如1000个分表,这样每个分表数据量只有1w。 同时,又可以使用java的多线程技术,并行处理提高效率。 另一方面,oracle那边的表,也不要堆一个表里,并且不要建索引,等数据导入完了,再建索引。 暂时想到这么多。
81,092
社区成员
341,716
社区内容
加载中
试试用AI创作助手写篇文章吧