SQL 数据库全库检索

原创|其它|编辑:郝浩|2010-02-05 13:38:17.000|阅读 590 次

概述:在项目中经常遇到要对标准系统进行调整的需求。比如,我们只知道一个值出现,但是不知道他到底存在了哪个表哪个字段。而SBO的表总共有930多个,每个表一般都100到200个字段,人工查找几乎是不可能的。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

本人是做SBO开发与实施的。

在项目中经常遇到要对标准系统进行调整的需求。比如,我们只知道一个值出现,但是不知道他到底存在了哪个表哪个字段。而SBO的表总共有930多个,每个表一般都100到200个字段,人工查找几乎是不可能的。

于是,我做了一个SQL全库检查的工具。只需输入你想要查找到的值,就可以自动为你找出包含这个值的表和字段。这对分析业务逻辑执行情况非常用帮助。推荐大家使用。

程序运行界面如下图:

使用起来非常简单,只要输入数据库服务实例名、数据库用户、数据库密码,点击登录,那么就会自动列出该服务器上的所有数据库。选择一个数据库,在自由文本中输入要查找的值,就可以开始了。

如果,需要模糊匹配,只需打上自由文本下面的勾勾。

 

工作原理:

工作原理很简单。就是先查找所有的表,并根据表中的字段构建SQL语句。语句的数量是数据表和字段的乘积。

之后,对所有的语句逐一执行,并将检索出的结果列在中间的DataGridView中。结果中包含查找到该值的SQL语句。

由于之前使用的是DataTable,效率非常之低,查找900多个表,每个表大约有150个字段,估计要计算135000*2次。直到十分钟之后,也没有什么进展。后来,改用了DataReader,效率大大提升!这样的计算量,我的机器需要5分钟左右就可以了。对于数据表少的数据库,一般一分钟之内都可以搞定。

我的机器配置:

LENOVO THICKPAD T60。

CPU:T5500

MEM:2G


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP