万能数据库查询分析器使用技巧之(十)

 

 万能数据库查询分析器使用技巧之(十)

   ---比DB2 EXPORT更高效的查询结果导出功能

                                         马根峰

           ( 广东联合电子服务股份有限公司, 广州 510300)

 

 

摘要     本文详细地介绍了“万能数据库查询分析器”,中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》的最新版本4.01中新增的功能--高效地保存查询结果到文件。在查询结果在5万条以上乃至数亿条记录时,可以快速地保存查询结果。这个功能可以结合“文本限制符”和“导出文件时是否带表头”,来控制保存的结果文件的格式,达到一些DBMS所不具备的功能。

关键词   DB 查询分析器;DB Query Analyzer;DB2;保存查询结果 

 

 

1    “万能数据库查询分析器”简介 

        中国本土程序员马根峰推出的个人作品----万能数据库查询分析器,中文版本《DB查询分析器》、英文版本《DB Query Analyzer》。

        万能数据库查询分析器集哈希技术、链表等多种数据结构于一体,使用先进系统开发技术,经历4年的研究、开发、测试周期后在2006年面世。之后7年来一直在进行不断地完善、升级,到目前为止,最新版本为4.01。万能数据库查询分析器具有长达7万多行代码的工作量,使得其具有强大的功能、友好的操作界面、良好的操作性、跨越各种数据库平台乃至于EXCEL

        在《程序员》20072期的“新产品&工具点评”部分,编辑“特别推荐”了“万能数据库查询分析器”发布。本期只点评了5个工具,分别是“Adobe Acrobat 8 中文版”、“迅雷搜索 1.7 新版上线”、“Google 桌面搜索 5.0中文发布”、“BEA发布 WebLogic SIP Server3.0”和特别推荐“万能数据库查询分析器”发布。前面4个都是国内外大型软件公司的产品,只有“万能数据库查询分析器”是个人创作的软件。截止到目前,在国内最著名的软件下载网站“中关村在线”中下载量近9万次,位居整个数据库类排行谤中前20位。

        截止到2011119日,在Google搜索关键字“DB查询分析器”、“DB Query Analyzer”,搜索结果分别在80万、150万左右;在Baidu搜索关键字“DB查询分析器”、“DB Query Analyzer”,搜索结果均在40万左右。

        本文将介绍万能数据库查询分析器中英文4.01版本中,新增的高效导出功能--“保存查询结果至文件”。

 

 

2    4.01版本新增功能保存结果至文件 

        实现了将查询的结果直接输出到文件,对应于菜单项“查询à显示结果->保存结果到文件”。这种情况可用于 当返回的记录数非常大(如超过5万条,或者上千万及至几亿条记录),这种情况下,最好将结果输出到文件;记录数在1万至2万条的话,以 “以表格显示结果”来显示效率也可以,尽量不要用以“以文本显示结果”显示方式。

        用户还可以结合“文本限定符”的设置、“导出文件时带表头”这两个设置,来为导出的文件设置文本限制符、输出的文件是否带表头。请注意这两个设置一旦更改,则马上生效。

        4.01版本这一新增功能,使得《DB 查询分析器》具备了大型数据库系统的EXPORT、BCP导出功能,可以将具有上亿条记录的数据表高效的导出。

 

 

 

3    几个例子来显示其非常高的执行效率

        “万能数据库查询分析器”中英文4.01版本,均增加了保存查询结果至文件这一功能,并且由于采取了非常高效的算法,具有非常高的执行效率。

        下图为文本限制符为 None,即没有文本限制符的查询结果:

 

万能数据库查询分析器使用技巧之(十)_第1张图片

        图1 连接DB2数据库, 14分钟导出1100多万条记录,生成2GB文件

 

        图1是在PC客户端上导出文件,用了近15分钟,当然2GB数据从服务器到客户端的网络传输也会消耗较多的时间。图2是在服务器主机是IBM 670,64GB的内存,8个物理CPU,16个逻辑CPU,存贮采取磁盘阵列,在这样的服务器上执行同样的查询脚本,导出同样的数据,耗时近6分钟,乍一看,DB Query Analyzer的“查询结果保存至文件”的导出效率相当于服务器上的40%。但深入地想一下,如果导出的文件要保存至客户端的情况下,是不是还要包括服务器导出的文件用FTP传送到客户端的时间,如果这二者所用时间之和会怎么样?文章第四部分会给出答案。

 

万能数据库查询分析器使用技巧之(十)_第2张图片

        图2 在服务器主机IBM 670,近6分钟导出1100多万条记录,生成2GB文件

 

 万能数据库查询分析器使用技巧之(十)_第3张图片

 

        图3  连接MS SQL Server数据库, 2分钟导出200多万条记录,生成500MB文件

 

万能数据库查询分析器使用技巧之(十)_第4张图片

        4  连接MS SQL Server数据库, 14秒导出近200万条记录,生成80MB文件

 

 

4    为什么说《DB 查询分析器》的导出效率比DB2 Export更高

        在一般情况下,我们在服务器导出的文件是要传送到PC客户端的,所以数据从服务器FTP到客户端的用时也是必须考虑的。

        前面在服务器上导出的约2GB的文件从服务器FTP到PC客户上,用了14分36秒钟的时间。

 

万能数据库查询分析器使用技巧之(十)_第5张图片

        图5  2GB的文件从服务器FTP到PC客户上,用了14分36秒钟的时间

 

        所以DB2 Export用时与FTP传送时间之和为20多分钟,而DB Query Analyzer用时仅14多分钟,所以DB Query Analyzer的“保存结果至文件”的导出功能更为高效。

 

 

 

 

备注:

         如果您的计算机上安装有“万能数据库查询分析器”以前的版本,请尽量先用以前安装时的版本(找不到的话,用最新版本也可以)进行 Uninstall ,然后再安装新版本,谢谢!

 

 

 

作者简介:

        马根峰,硕士,研究方向:数据库应用。

        个人开发了万能数据库查询分析器,中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》。旨在解决跨数据库平台的数据库访问。

        个人还开发了彻底删除文件(File Delete Absolutely),用以将Windows系统上的文件彻底删除,不会被其它软件恢复。

        这两个软件均免费使用,在各内几大软件下载网站中关村在线、天空软件站、华军软件园、太平洋电脑、非凡软件站、绿色联盟等均有下载。

 

 

作者博客:

CSDN博客:http://blog.csdn.net/magenfeng

新浪博客:  http://blog.sina.com.cn/magenfeng

QQ空间: http://user.qzone.qq.com/630414817

 

 

 

你可能感兴趣的:(数据库)