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


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

       ---比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 连接DB2数据库, 14分钟导出1100多万条记录,生成2GB文件

     

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

     

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

     

     

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

     

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

     

     

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

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

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

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

     

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

     

     

     

     

    备注:

            如果您的计算机上安装有“万能数据库查询分析器”以前的版本,请先将旧版本卸载 ,然后再安装新版本,谢谢!

     

     

     

    作者简介:

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

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

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

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

     

     

     

     

     


    DB 查询分析器 5.03  下载地址:
    http://xiazai.zol.com.cn/detail/27/264455.shtml

     

    DB Query Analyzer 5.03下载地址:
    http://xiazai.zol.com.cn/detail/43/420901.shtml  
      
     

     

    作者博客:

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

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

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

     

     

     

  • 相关阅读:
    Java ConcurrentModificationException 异常分析与解决方案
    android studio 怎么做屏幕适配?
    java Class.getSimpleName() 的用法
    LeetCode——Remove Element
    用WidgeDuino创建一个SCADA(监控与数据採集)系统
    【Oracle】OCR的备份和恢复之导出导入
    Java大数类介绍
    POJ 1113 Wall 凸包
    OPENCV中滑动条的使用
    Android
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300775.html
Copyright © 2020-2023  润新知