C#实现SQL全库检索数据-比较使用DataReader与DataAdapter+Datatable效率,差距惊人!
2009-12-25 11:59
926 查看
为了项目的需要,往往需要知道一个值在哪几个表里出现过,进而分析这个程序的执行过程和处理逻辑。我们通常会使用SQL事件跟踪器。这个工具也没少用,但是在使用时经常对所跟踪到的事件太多而感到应接不暇。
于是,我做了一个给定一个值,可以查询在任意表中任意字段与此值相等的语句,指定对应的表和字段,这样的一个SQL全库检索工具。
在第一版中,我使用的是DataAdapter+Datatable,此时查询时耗时严重,从早上开始计算直到中午也只是在收集语句的阶段!
即使我换更高配置的服务器来执行,提高三至五倍的速度,也几乎无法忍受啊。于是重新修改代码,采用DataReader替换之前的DataAdapter+Datatable。当之前的那个程序还在执行的时候,这次居然只用了1分钟左右就完成了收集语句的过程。
接下来验证语句的过程,也只花费了不到10分钟的时间!
注:我查询的数据库是SBO的数据库,里面有978个表,每个表多的有200多个字段。这样,收集的语句按平均每个表有150个字段计算,也会达到146700条!
于是,我做了一个给定一个值,可以查询在任意表中任意字段与此值相等的语句,指定对应的表和字段,这样的一个SQL全库检索工具。
在第一版中,我使用的是DataAdapter+Datatable,此时查询时耗时严重,从早上开始计算直到中午也只是在收集语句的阶段!
即使我换更高配置的服务器来执行,提高三至五倍的速度,也几乎无法忍受啊。于是重新修改代码,采用DataReader替换之前的DataAdapter+Datatable。当之前的那个程序还在执行的时候,这次居然只用了1分钟左右就完成了收集语句的过程。
接下来验证语句的过程,也只花费了不到10分钟的时间!
注:我查询的数据库是SBO的数据库,里面有978个表,每个表多的有200多个字段。这样,收集的语句按平均每个表有150个字段计算,也会达到146700条!
相关文章推荐
- C#使用SqlDataAdapter 实现数据的批量插入和更新
- C#使用SqlDataAdapter.Update更新数据库
- 如何在 Visual C# .NET 中使用 SqlDataAdapter 对象更新 SQL Server 数据库
- C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter和DataTable的使用
- C#使用SqlDataAdapter对象获取数据的方法
- 在C#使用SqlDataAdapter的Update更新数据
- SQL 数据库 C#中全局DataTable、SqlDataAdapter、SqlConnection实现实例
- C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter和DataTable的使用
- C#使用SQL DataAdapter数据适配代码实例
- C#使用SqlDataAdapter.Update更新数据库
- C#使用SqlDataAdapter的Update方法更新数据
- 使用SqlDataAdapter对象获取数据
- 使用SqlDataAdapter来插入数据
- Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据
- 【c#操作office】--OleDbDataAdapter 与OleDbDataReader方式读取excel,并转换为datatable
- C#中SqlDataAdapter的使用小结
- ODBC API 使用SQLPutData实现SQL数据库BLOB(TEXT、IMAGE类型字段)数据提交[原创](一)
- C#里ADO.NET的SqlDataAdapter新增数据
- 第五课 使用断开数据--DataSet和SqlDataAdapter(翻译)
- Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据