程序员对ADO.NET技巧说明研究 - Go语言中文社区

程序员对ADO.NET技巧说明研究


ADO.NET提供了几种命令执行的不同方法以及优化命令执行的不同选项。下面包括一些ADO.NET技巧,它们是关于选择***命令执行以及如何提高执行命令的性能,及他是怎么运作的。

使用OleDbCommand的***实践

不同.NET框架数据提供程序之间的命令执行被尽可能标准化了。但是,数据提供程序之间仍然存在差异。下面给出一些技巧,可微调用于OLE DB的.NET框架数据提供程序的命令执行。

1) 按照ODBC CALL语法使用CommandType.Text调用存储过程。使用CommandType.StoredProcedure只是秘密地生成ODBC CALL语法。

2) 一定要设置OleDbParameter的类型、大小(如果适用)、以及精度和范围(如果参数类型是numeric或decimal)。注意,如果不显式提供参数信息,OleDbCommand会为每个执行命令重新创建OLE DB参数访问器。

使用SqlCommand的***实践

使用SqlCommand执行存储过程的快速提示:ADO.NET技巧如果调用存储过程,将SqlCommand的CommandType属性指定为StoredProcedure的CommandType。这样通过将该命令显式标识为存储过程,就不需要在执行之前分析命令。

使用Prepare方法

对于重复作用于数据源的参数化命令,Command.Prepare方法能提高性能。Prepare指示数据源为多次调用优化指定的命令。要想有效利用Prepare,需要彻底理解数据源是如何响应Prepare调用的。对于一些数据源(例如SQL Server 2000),命令是隐式优化的,不必调用Prepare。对于其他(例如SQL Server 7.0)数据源,Prepare会比较有效。
显式指定架构和元数据

只要用户没有指定元数据信息,ADO.NET技巧的许多对象就会推断元数据信息。下面是一些示例:

1) DataAdapter.Fill方法,如果DataSet中没有表和列,DataAdapter.Fill方法会在DataSet中创建表和列。

2) CommandBuilder,它会为单表SELECT命令生成DataAdapter命令属性。

3) CommandBuilder.DeriveParameters,ADO.NET技巧会填充Command对象的Parameters集合。

但是,每次用到这些特性,都会有性能损失。建议将这些特性主要用于设计时和即席应用程序中。ADO.NET技巧在可能的情况下,显式指定架构和元数据。其中包括在DataSet中定义表和列、定义DataAdapter的Command属性、以及为Command定义Parameter信息。

【责任编辑:苏越 TEL:(010)68476606】

点赞 0
版权声明:本文来源51CTO,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:http://developer.51cto.com/art/200912/173648.htm
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-16 11:22:16
  • 阅读 ( 1049 )
  • 分类:职场

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢