DB Query Analyzer 中断SQL语句的执行

马根峰

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

摘要:     万能数据库查询分析器有两个版本:DB 查询分析器(中文版本)和 DB Query Analyzer(英文版本)。它不仅能够直接获取SQL语句执行的时间,而且能够真正中断非常耗时的SQL语句的执行,从前台界面或者从后台操作系统都可以验证到SQL语句被中断,而不会在数据库服务器主机产生僵尸进程。这些优点是绝大部分数据库自带的客户端工具所不具备的,文章以英文版本 DB Query Analyzer 连接Windows2000 Server操作系统的MYSQL数据库为例,来展现整个中断处理过程。

关键词:   DB Query Analyzer;MYSQL;SQL语句;数据库

中图法分类号:      TP392   文献标识码: A       文章编号:1006-8228(2011)12-35-02

  DB Query Analyzer to cancel a Running SQL statement

                                                       MA Gen-feng

( Guangdong Unitoll Collection Incorporated, GuangZhou,Guangdong 510300, China)

Abstract:DB Query Analyzer has two version: simplified Chinese edition and English edition. It can not only get known the running time of SQL statement directory,but alse cancel a running and very time-consuming SQL statement indeed, which can be verified on foreground interface or background operation system, and it does not cause zombie processes in database server. Most database don't provie the above functions in their client tools. Taking DB Query Analyzer connected to MySQL database based on Windows2000 Server as an example,the whole process of canceling a running SQL statement is illustrated.

Key words:   DB Query Analyzer;MYSQL;SQL statement;database

 

0        引言 

从事大型数据库查询、数据分析工作的人经常遇到这样的情况,自己编写的SQL语句充分使用了索引,并且经过了优化,但由于数据表太大,访问数据库也非常耗时。而大部分DBMS,包括大型数据库系统Oracle、Sybase、DB2等其客户端工具都不显示SQL执行了多少时间。

中国本土程序员马根峰推出的个人作品----万能数据库查询分析器,其中文版本DB 查询分析器、英文版本DB Query Analyzer,具有强大的功能、友好的操作界面、良好的操作性、跨越数据库平台。在《程序员》2007第2期的“新产品&工具点评”部分,该期只点评了5个工具,分别是“Adobe Acrobat 8 中文版”、“迅雷搜索 1.7 新版上线”、“Google 桌面搜索 5.0 中文发布”、“BEA 发布 WebLogic SIP Server 3.0”和特别推荐“万能数据库查询分析器”发布。前面4个都是国内外大型软件公司的产品,只有“万能数据库查询分析器”是个人创作的软件。截止到目前,在国内最著名的软件下载网站“中关村在线”中下载量近九万次,位居整个数据库类排行谤中前20位。在世界范围内,从功能上也仅有国外的Query Tool可以与万能数据库查询分析器比肩,万能数据库查询分析器无疑当属国内第一查询分析器。

万能数据库查询分析器的使用者不仅可以直接在的状态栏上看到SQL语句的执行时间,而且随时可以中断SQL语句的执行,在数据库服务器主机上通过DBMS提供的命令还可以清楚地看到万能数据库查询分析器进程状态变化(MYSQL而言,状态由“Copying to tmp table”变为“  ”)。而不是像某些数据库客户端工具那样,需要从前台关闭程序,然后再从后台操作系统Kill掉还在运行的僵尸进程。因此,能够中断已经向DBMS提交的SQL语句的执行,是成熟的DBMS客户端工具必须具备的功能。

下面以Windows2000 Server操作系统上安装的MYSQL数据库为例,从前台 DB Query Analyzer、后台MYSQL层面向大家详细说明 DB Query Analyzer 如何中断SQL语句的执行。

1         DB Query Analyzer 连接数据库

以用户mgf连接上ODBC数据源mysql_mgf后, DB Query Analyzer 会打开一个命令窗口,输入一条非常耗时的SQL语句如图1所示。

图1   DB Query Analyzer连接上数据库后,在打开的一个窗口中,输入SQL语句

图2   DB Query Analyzer连接上数据库后,查看后台,看到ID为3的进程

通过图2,可以清楚地看到,在打开 DB Query Analyzer 连接上数据源mysql_mgf之前,在MYSQL命令行窗口用“show processlist”命令找不到以用户“mgf”登录的ID为3的DBQueryAnalyzer.exe后台进程。

在 DB Query Analyzer 连接上数据源mysql_mgf之后,再执行“show processlist”命令如箭头①所示,就可以看到如箭头②ID为3的进程了,表明它已经连接到数据库了,其状态为“  ”。

2         DB Query Analyzer 执行SQL语句

在 DB Query Analyzer 中点击“运行”按钮或者按下F5功能键就会向DBMS提交SQL语句。在MYSQL命令行窗口我们依然用 “show processlist” 命令来查看ID为3进程的状态,如图3所示:

图3   执行SQL语句过程中查看后台进程状态

通过图3,可以清看到, DBQueryAnalyzer.exe的ID为3的后台进程状态为“Copying to tmp table”(如箭头①所示)。箭头②所示还是连接上数据库时ID为3的后台进程状态为“ ”。

3         DB Query Analyzer 中断SQL语句的执行

在 DB Query Analyzer 菜单“Query”中选择“Stop”或者点击工具栏中的“Cancel”按钮,《DB Query Analyzer》中会看到“Query Canceled”的提示。如图4所示:

图4  点击DB Query Analyzer中“中断”按钮,SQL语句执行被中断

图5中,在MYSQL命令行窗口我们依然用“show processlist” 命令来查看ID为3的后台进程状态从“Copying to tmp table”变为“  ”,中断操作并没有产生任何僵尸时程,如箭头①所示。

图5   中断SQL语句执行后,DB Query Analyzer.exe的ID为3的后台进程状态为“  ”

4        DB Query Analyzer 退出后

DB Query Analyzer 退出后,MYSQL命令行窗口执行命令“show processlist”,已经找不到DBQueryAnalyzer.exe后台ID为3的进程,没有产生任何僵尸时程。如图6所示:

图6   退出DB Query Analyzer后,查看后台,ID为3的进程结束

5        结束语

在数据库维护、管理、查询的时候,经常会遇到一些SQL语句的执行非常耗时,即使你对查询进行了优化并且充分使用了索引。因此常常需要中断SQL语句的执行。能否中断SQL语句的执行是成熟的数据库客户端工具必须具备的功能。跨越数据库平台的 DB Query Analyzer 完全实现这一功能,从后台数据库服务器上可以看到中断SQL语句的执行所带来的进程状态的变化,并且在后台数据库服务器上不会产生任何僵尸进程。

参考文献:

[1]  马根峰 · 万能数据库查询分析器中的事务管理在Oracle中的应用[M]· 上海:微型电脑应用2008.4

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

[3]  马根峰 · DB Query Analyzer中的事务管理在DB2中的应用[M]· 北京:电脑编程技巧与维护2011.22

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

[5]  张龙祥,黄正端,陶影  · 数据库原理与设计[M] · 成都:西南交通大学出版社,1995

                      本文收录于<<计算机时代>>2011年第12期

转载于:https://www.cnblogs.com/wuyida/archive/2012/03/03/6300831.html

DB Query Analyzer 中断SQL语句的执行相关推荐

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

    <DB 查询分析器>中断SQL语句的执行 马根峰 ( 广东联合电子收费股份有限公司, 广州 510300) 摘要     从事数据库查询.数据分析工作的人会经常遇到这样的情况,有些SQL语 ...

  2. 《软件》2011年第6期刊登出 《DB 查询分析器》中断SQL语句的执行

    <软件>编辑部寄来了2011年第6期样刊,在2011年第6期,刊登出了本人的论文------"<DB 查询分析器>中断SQL语句的执行". 论文刊登在第42 ...

  3. Install and run DB Query Analyzer 6.04 on Microsoft Windows 10

          Install and run DB Query Analyzer 6.04 on Microsoft Windows 10  DB Query Analyzer is presented ...

  4. DB Query Analyzer中的事务管理在DB2中的应用

    DB Query Analyzer中的事务管理在DB2中的应用 马根峰 ( 广东联合电子收费股份有限公司, 广州 510300) 摘要      事务控制是数据库应用系统中的关键技术之一,概述了事务控 ...

  5. mybatisplus执行sql语句_[MySQL]sql语句的执行流程

    此篇极客时间专栏<MySQL实战45讲>笔记,文中部分图文来自该专栏. MySQL的执行流程示意图: 大体来说,MySQL可以分为Server层和存储引擎层两部分. Server层包括连接 ...

  6. linux查看db2存储过程,DB2查看存储过程里SQL语句的执行情况

    动态SQL可以用snapshot查看,存储过程里SQL语句的执行情况用event monitor查看. 但是event monitor没有记录SQL语句,而是记录了package id和Section ...

  7. oracle+执行变量语句,ORACLE sql 语句的执行过程(SQL性能调整)

    第1章 SQL语句处理的过程 在调整之前我们需要了解一些背景知识,只有知道这些背景知识,我们才能更好的去调整sql语句. 本节介绍了SQL语句处理的基本过程,主要包括: · 查询语句处理 · DML语 ...

  8. The 12th tip of DB Query Analyzer, powerful in text file process

    MA Gen feng ( Guangdong Unitoll Services incorporated, Guangzhou 510300) AbstractIt's very powerful ...

  9. The 13th tip of DB Query Analyzer, powerful processing EXCEL file

    The 13thtip of DB Query Analyzer, powerful processing EXCEL file MA Genfeng (Guangdong UnitollServic ...

最新文章

  1. python做运动控制_第一课:用Python操控小龟小车运动
  2. Android之创建简单的ProgressDialog
  3. Uva 11292 The Dragon of Loowater 模拟题
  4. ML之SVM:调用(sklearn的lfw_people函数在线下载55个外国人图片文件夹数据集)来精确实现人脸识别并提取人脸特征向量
  5. python安装pygame模块_windows下 python 如何安装pygame模块
  6. The security settings could not be applied to the database because the connection has failed安装Mysql
  7. 一维数组求最大值,和三元运算符运算源码
  8. 3-(基础入门篇)稍微了解一下(需要知道的关于Lua的一些基本的知识)
  9. AcWing 874. 筛法求欧拉函数(欧拉函数)
  10. 用SQL备份数据库表
  11. c语言口袋妖怪代码大全,口袋妖怪代码大全.docx
  12. Sqlmap常用命令总结及注入实战(Access、mysql)
  13. 转载:最舒服的色彩搭配RGB值配色 (赞、实用)
  14. gstBuffer的 data 和 meta
  15. 伪静态与重定向--RewriteBase
  16. iOSnbsp;播放流媒体nbsp;服务端配置备份
  17. 将登记照图片尺寸宽高文件大小进行调整修改的工具
  18. Android中照片墙的经典实现
  19. 女博士年薪156万入职华为!网友:实力演绎美貌与智慧并重!
  20. python小海龟turtle绘图作业代码

热门文章

  1. FindPrivateKey X509
  2. Catalysing food-tech: How the UK‘s EIT Food Accelerator Network can accelerate your journey
  3. How to publish in an open world?
  4. career opportuties
  5. new housing price at shanghai
  6. 如果不知道做什么,那应该做什么呢?
  7. 关于编译GITHUB上的工程
  8. JAVA正则表达式实例教程(转帖收藏)
  9. 今天又看到的Acm指南
  10. asp.net开源工作流CCFlow的下载与安装