« SQLULDR2功能增加, 性能不减 »
Tools » http://www.anysql.net/tools/sqluldr2-high-perf-insert-unload.html 2009-10-30SQLULDR2生成文件时增加了对MySQL转义符的支持, 并且支持导出成MySQL用的Insert回插脚本, 也支持通用的Insert回插脚本. 针对不同的选项, 用大约100万条记录的数据在笔记本上做了测试, 测试表有8个字段, 包括字符,数字和日期类型.
先是测试不做任何转义符处理, 生成文本文件的速度, 基本上受制于笔记本硬盘写出的速度了.
C:\>sqluldr2 scott/tiger query=emp_his
0 rows exported at 2009-10-30 22:37:14, size 0 MB.
961307 rows exported at 2009-10-30 22:37:21, size 48 MB.
output file uldrdata.txt closed at 961307 rows, size 49 MB.
接下是生成转义符处理过后的, MySQL用的文本文件, 速度在这次测试环境下没有下降.
C:\>sqluldr2 scott/tiger query=emp_his escape=0x5c quote=0x22 null=0x5cN field=0x2c record=0x0a
0 rows exported at 2009-10-30 22:38:49, size 0 MB.
961307 rows exported at 2009-10-30 22:38:56, size 52 MB.
output file uldrdata.txt closed at 961307 rows, size 56 MB.
测试生成MySQL插入用的Insert SQL文件, 速度在这次测试环境下也没有下降.
C:\>sqluldr2 scott/tiger query=emp_his escape=0x5c quote=0x27 null=null field=0x2c format=mysql table=emp_his
0 rows exported at 2009-10-30 22:39:28, size 0 MB.
961307 rows exported at 2009-10-30 22:39:34, size 56 MB.
output file uldrdata.txt closed at 961307 rows, size 60 MB.
生成普通的Insert SQL文件, 因为每一条记录都是一个Insert语句, 所以文件很大, 花在IO上的时间多了一些.
C:\>sqluldr2 scott/tiger query=emp_his quote=0x27 null=null field=0x2c format=sql table=emp_his
0 rows exported at 2009-10-30 22:40:01, size 0 MB.
961307 rows exported at 2009-10-30 22:40:11, size 124 MB.
output file uldrdata.txt closed at 961307 rows, size 128 MB.
生成100万条记录的Insert SQL语句的速度基本上没有下降, 没有因为处理逻辑的复杂而增加处理时间, 功能增强而性能不减, 实属不易.
当你需要迁移Oracle数据到MySQL或其他数据库时, 不妨用用SQLULDR2, 还可以生成普通的Insert SQL语句, 来迁移数据到不知名的小数据库, 比如说SQLite, Microsoft Access等.


很不错的博客,交换下友情链接不?
维一一款被”中国软件技术大会组委会专家组”评为2007年企业应用类优秀软件奖的加密软件.
从事文件/文件夹的加密研究工作多年,多种原创加密技术,加密的文件夹可防删、防复制、防移动、防剪切;支持U盘控制等。打造国人品质一流的文件与文件夹加密软件。
不错哦,我也开了一个博客,有空大家经常交流…
是否发布了,我下载的还是10.27的
还没有, 这两天太忙, 过几天吧.
是否可以判断某一列的内容来导出时就拆分成不同的文件放到不同的目录
用程序去解析这样的规则定义不容易, 建议是加在Where条件中, 然后运行多次.
看来外面包个shell脚本了,多谢博主回复!
[...] 点击此处查看全文 AKPC_IDS += "1836,";Popularity: unranked [?] 注意: 转载本站文章时,请复制粘贴下面的代码到文章底部,以标明文章原出处和链接。 转载自<a href="http://www.lazysa.com/2009/11/1836.html" title="SQLULDR2功能增加, 性能不减" rel="bookmark">SQLULDR2功能增加, 性能不减 | 懒人运维</a> [...]
你好,我下载了新的sqluldr,生成时间是1月4日那个,发现如果加上head=yes的话,在最后一个列名后面有一个有一个多余的列分隔符,不知道这是不是一个bug。
这个应当属于逻辑上的Bug吧. 自已用时都没有设上这个选择, 所以没有发现问题, 谢谢你的反馈.
能否实现1遍全表扫描达到下列shell脚本写法的效果,ml没有索引
ociuldr.bin user=aa/aa query=”select * from hsg where ml=’A'” head=Yes file=’hsgA.txt’
ociuldr.bin user=aa/aa query=”select * from hsg where ml=’B'” head=Yes file=’hsgB.txt’
…
ociuldr.bin user=aa/aa query=”select * from hsg where ml=’Z'” head=Yes file=’hsgZ.txt’
还没有想过要实现这个按列值自动分写多个文件的功能.
写得不错