您的位置:首页 > 其它

如何使用《DB 查询分析器》高效地生成旬报货运量数据

2016-06-09 01:34 357 查看
如何使用《DB 查询分析器》高效地生成旬报货运量数据

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

1 引言

中国本土程序员马根峰(CSDN专访马根峰:海量数据处理与分析大师的中国本土程序员)推出的个人作品----万能数据库查询分析器,中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》。它具有强大的功能、友好的操作界面、良好的操作性、跨越各种数据库平台乃至于EXCEL和文本文件。

你可以通过它 查询ODBC数据源(包括世面上所有的数据库、TXT/CSV文件、EXCEL文件)的数据。你可以同时执行多条DML语句乃至存贮过程,结果会以你设定的表格、文本框、文件来返回; 从数据库导出千万条数据时,效率与DBMS没有什么区别; 具有强大的 SQL “执行计划”功能,你只要将“工具-à选项”窗口中的选项“SQL执行计划连接自动恢复”设置为“选中”状态,那么即使在“SQL执行计划”期间数据库服务器宕过机,只要在“SQL执行计划”的时刻数据库服务器是处理启动状态,那么“SQL执行计划”都会被执行; 6.03版本已经完全兼容任何Microsoft的Windows操作系统系列,包括Windows 10、Windows 8、Windows 7、Windows Vista、Windows 2003、Windows XP、Windows 2000、Windows NT、Windows ME、Windows 9X,可以直接在Windows操作系统上运行,而不需要更改任何操作系统的任何设置或者配置。

《DB 查询分析器》在中关村在线(http://xiazai.zol.com.cn/detail/27/264455.shtml) 下载量超过 11 次,位居整个数据库类排行榜中前10位。

在《程序员》2007第2期的“新产品&工具点评”部分,编辑“特别推荐”了“万能数据库查询分析器”发布。

本人还撰写了关于“万能数据库查询分析器”有关技术中文、英文的85篇文章,发布在《电脑编程技巧与维护》、《软件》、《计算机时代》、《电脑编程技巧与维护》、百度文库、CSDN资源、和本人的四大博客上(CSDN博客、新浪博客、QQ空间和搜狐博客上)。

本文将以中文版本《DB 查询分析器》6.04版本为例,详细介绍 如何使用它的执行计划功能,来组装起来各个算法脚本,来高效地生成交通部复杂的旬报货运量数据。





2 交通部旬报货运量数据的样式





了解数据处理业务的人士一眼就可以看出,这个表样意味着什么?

这是一份逻辑非常复杂的数据集合,所以在北京开会期间,才会有本人对广东省交通厅的领导说“我们广东的数据量太大了,不能用一般的算法来处理,我们有更好的算法”。

对于广东这个全国经济的排头兵来说,各项经济指标、各个行业的央企在广东的业务收入基本都占据了全国的六分之一左右,广东省高速公路每个月的通车车次数占的比重比这个平均值还要稍大些。

“数据量小的话,什么算法都行”,但一旦数据量上了海量级,用一般的算法你根本无法处理。举个例子,向小型机数据库中插入2千万条出口流水记录需要2个小时左右(出口流水表的列较多),这还要看小型机的配置、小型机的负载情况,但如果是近3亿条记录呢?可能一天都完成不了这一项任务。



3 本人设计的算法及处理步骤

本人在进行海量数据处理的时候,采取了“化整为零”的处理措施,即将大任务进行分解,设计出单独计算“本旬货运量数据”、“去年同旬货运量数据”、“月初至本旬货运量数据”、“去年月初至同旬货运量数据”、“新增收费站”这5大计算模块,也是非常耗时的部分。

接下来,就可以使用《DB 查询分析器》的“执行计划”功能,自动生成“执行结果.csv”文件。

总体操作步骤如下(提前建立好每月的1号、11号、21号的以下两个步骤的执行计划):

第一步可以使用《DB 查询分析器》在5个窗口中分别建立 “执行计划”,来定时生成5个中间数据文本文件。

第二步就是,使用《DB 查询分析器》建立ODBC数据源,并且建立“执行计划”,直接处理 文本文件,来定时生成最终的旬报数据项,用户可以只需在上班时打开“执行结果.csv”,将数据粘贴到旬报文件中即可。



图1 旬报任务的算法分解

备注: 因“省界站”的处理非常简单就不再说明。

下面以“新增收费站”、“本旬货运量数据”的处理为例,介绍一下数据处理过程。

3.1 新增收费站的运算处理

因为每个月的通行流水约1.2亿条,而新增收费站的定义是“自本月初至本旬发生通车的收费站与去年同月发生通车的收费站”,所以最大数据量的处理是第3旬时新增的收费站的处理,就是本月同去年同月份新增的收费站,就是1.2亿条记录与1.2亿条记录中的布尔代数运算。



图2 使用“执行计划”功能设定时间,来执行“新增收费站的计算”

这样,只要建立好“执行计划”,无论在执行前数据库是否宕过机,只要在“执行计划”执行时刻,数据库服务器处理启动状态,“执行计划”就可以被执行。 一方面可以设定在数据库服务器比较闲的时间来减轻数据库服务器的压力,另一方面,可以保障SQL脚本被执行。

3.2 本旬货运量数据



图3 使用“执行计划”功能设定时间,来执行“本旬的计算”

3.3 生成的中间数据文件



图4 生成的中间数据文件

3.4 建立ODBC数据源“TXT_CSV_ODBC” ,指向图4的目录。

其实,如果你经常使用《DB 查询分析器》访问文本文件,那么你可以先建立一个ODBC数据源,以后直接把要处理的文本文件直接拷贝到该目录,就可以执行SQL语句来访问这个文件了



图5 建立ODBC数据源“TXT_CSV_ODBC”(一)



图6 建立ODBC数据源“TXT_CSV_ODBC”(二)

3.5 用《DB 查询分析器》访问文本文件。



图7 《DB查询分析器》访问文本文件,并建立“执行计划”

对于图7中的执行计划,13分钟左右就可以执行完成,生成图8中的“执行结果.csv”。



图8 用EXCEL打开“执行结果.csv”

如何获得“万能数据库查询分析器”中文版本《DB 查询分析器》和英文版本《DB Query Analyzer》在“中关村在线”的源安装包,请参见 《如何使用ZOL一键安装器下载中关村在线的源安装包》、《How to downloadthe installation package by ZOL Downer》 )





4 本算法处理模式的好处

首先,对于海量数据,这是不得不采用的策略,将复杂问题分割成简单问题,即“问题分割”。这就可以避免在一次处理中关联过多的临时表数据来对基础数据表造成长时间的“数据库锁”。

其次,你不用在数据库中创建中间数据表,避免数据拷贝过来拷贝过去的繁琐。要知道,在生产环境的数据库中,创建数据表需要繁琐的手续来审批。

还有,便于不同单位或者部门间的数据核对、脚本调试与发现错误,你可以很方便地用写字板、ULTRAEDIT打开一个文本文件,甚至使用SQL语句更方便地通过《DB 查询分析器》来访问“中间结果数据”的文本文件,来定位某些记录。



5 结束语

今天只是举例来介绍一下“万能数据库查询分析器”在工作中的应用,其实“万能数据库查询分析器”还有许多操作技巧,在实际使用中同事们都在享受这一工具。

本人也撰写关于“万能数据库查询分析器”的85 篇中文、英文的技术文章来介绍它的强大功能,这些文章及下载链接详见本人的CSDN博客:http://blog.csdn.net/magenfeng

因为“万能数据库查询分析器”安装时不需要任何插件与虚拟环境,并且完全兼容任何Microsoft的Windows操作系统系列,包括最新的Windows 10,所以安装在资金结算中心的Windows各版本操作系统上,因为其强大的功能、友好的操作界面、良好的操作性、跨不同的数据库平台,它为数据库应用的开发者提供更方便、快捷的支持,在联合电服资金结算中心得到了广泛地使用与好评。

6 本人撰写的关于“万能数据库查询分析器”的85篇技术文章

目前以下7篇文章发布几个国内计算机刊物上:

[1] 马根峰· 基于数据仓库的广东省高速公路一张网过渡期通行数据及异常分析系统 · 杭州:《计算机时代》,2015年第7期

[2] 马根峰· DB QueryAnalyzer中断SQL语句的执行 · 杭州:《计算机时代》,2011年第12期

[3] 马根峰· DB查询分析器 批量执行DML语句并返回更详细的信息 · 北京:《电脑编程技巧与维护》,2011年第24期

[4] 马根峰· DBQuery Analyzer中的事务管理在DB2中的应用 · 北京:《电脑编程技巧与维护》,2011年第22期

[5] 马根峰· DB查询分析器中断SQL语句的执行· 天津:《软件》,2011年第6期

[6] 马根峰· 万能数据库查询分析器中的事务管理在Oracle中的应用 · 上海:《微型电脑应用》,2011年第11期

[7] 马根峰 · 新产品&工具点评 特别推荐:“万能数据库查询分析器”发布 · 程序员,2007年2期

以下78篇文章发布在百度文库、CSDN资源、和本人的四大博客上:

《万能数据库查询分析器使用技巧之(一)》直到《万能数据库查询分析器使用技巧之(十六)》共16篇

《The 1st tip of DB Query Analyze》直到《The 16th skills of DB Query Analyzer》共16篇

《如何在客户端配置ODBC来访问远程DB2 for Windows服务器》

《How to configure ODBC DSN in Client to access remote DB2 for Windows》

《如何在服务器上配置ODBC来访问本机DB2 for Windows服务器》

《How to configure ODBC DSN to access local DB2 for Windows》

《软件开发顶尖高手的杀手锏SQL语句》

《Which SQL statement is the trump card to the senior software developer》

《DB 查询分析器批量执行DML语句并返回更详细的信息》

《用“万能数据库查询分析器”测试SQLite对4大SQL精髓语句的支持》

《用“DB查询分析器”的对象浏览器来展现数据库的数据字典》

《万能数据库查询分析器用户已基本涵盖当前所有数据库系统》

《The DBMS that DB Query Analyzer Users often use cover all kinds of DBMS》

《查询分析器应必须具备的功能-中断查询的执行》

《万能数据库查询分析器的EXE文件加壳技术》

《Exe packer prevent DB Query Analyzer from being debugged》

《自己开发的“万能数据库查询分析器”终于有了较大的成果》

《DB Query Analyzer中断SQL语句的执行》

《DB 查询分析器 批量执行DML语句并返回更详细的信息》

《DB Query Analyzer中的事务管理在DB2中的应用》

《DB 查询分析器中断SQL语句的执行》

《万能数据库查询分析器中的事务管理在Oracle中的应用》

《特别推荐:“万能数据库查询分析器”发布》

《软件开发高手须掌握的4大SQL精髓语句(一)》

《软件开发高手须掌握的4大SQL精髓语句(二)》

《软件开发高手须掌握的4大SQL精髓语句(三)》

《软件开发高手须掌握的4大SQL精髓语句(四)》

《软件开发高手须掌握的4大SQL精髓语句(综合篇)》

《巅峰之作----“万能数据库查询分析器”5.01发布》

《万能数据库查询分析器与EXCEL强强联合进行数据分析》

《DB 查询分析器批量执行多条SQL语句并查看各自的执行时间》

《DB查询分析器访问EXCEL时,要在表名前后加上中括弧或双引号》

《The table name must be enclosed in double quotation marks or square bracket while accessing EXCEL by DB Query Analyzer》

《如何使用ZOL一键安装器下载中关村在线的源安装包》

《How to download the installation package by ZOL Downer》

《DB 查询分析器 6.03 ,遨游于任何Windows操作系统之上的最优秀的数据库客户端工具》

《DB Query Analyzer, the most excellent Universal database Access tools on any Microsoft Windows OS 》

《DB 查询分析器 6.03 在Windows 8.1上安装与运行演示》

《Demonstration of DB Query Analyzer 6.03 Installation and Running on Microsoft Windows 8 》

《DB 查询分析器 6.03 如何灵活、快捷地操作国产达梦数据库》

《DB 查询分析器 6.03 方便地创建DB2自定义函数》

《How to easily create DB2 user function by DB Query Analyzer 6.03 》

《DB 查询分析器 6.04 在 Windows 10 上的安装与运行展示》

《Install and run DB Query Analyzer 6.04 on Microsoft Windows 10》

《通用固定长度编码格式的字符串查找算法的实现》

《A universal function of searching fixed-length coded string in a string field》

《如何使用 DB 查询分析器高效地生成旬报货运量数据》

《How to generate the complex data regularly to Ministry of Transport of P.R.C by DB Query Analyzer》

DB查询分析器 6.04 中关村在线下载地址:

http://xiazai.zol.com.cn/detail/27/264455.shtml

DBQuery Analyzer 6.04 中关村在线下载地址:

http://xiazai.zol.com.cn/detail/43/420901.shtml

备注:

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

作者简介:

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

个人开发了万能数据库查询分析器,中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》。它具有强大的功能、友好的操作界面、良好的操作性、跨越各种数据库平台乃至于EXCEL和文本文件。

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

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

我 马根峰本人的微信公众号:

万能数据库查询分析器

马根峰的博客:

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

新浪博客: http://blog.sina.com.cn/magenfeng
官方网址: http://www.unitedpowersoft.com/


更多精彩文章,技术分享,敬请期待



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: