(4)ADO.NET关键点---性能和其它
0、性能优化措施
使用数据缓存、连接池和消息队列优化数据处理性能。
Provider接口的不同实现类的效率比较:Sql>OleDb>Odbc (Oracle不在比较范围)。
若使用数据集,则推荐使用编译过的强类型数据集
使用存储过程的优点:
l 便于模块化设计多次调用(使其逻辑独立独立出来更加清晰)
l 执行速度较快(编译过的命令并减少了网络传输)
l 可作为安全机制使用(限制从客户端自由调用SQL语句)
1、DataReader和DataSet比较
将SqlDataReader 类用于快速只进数据游标, SqlDataReader 使用 SQL Server 的本机网络数据传输格式从数据库连接直接读取数据。SqlDataReader 类实现 IEnumerable 接口,该接口允许将数据绑定到服务器控件。
选择DataReader还是DataSet的考虑因素:
内存开销 该数据是否频繁使用
读取数据的两种方法比较:
1、使用数据集(DataSet)
可使用多个表操作来自多个数据源的数据
便于在分布式应用程序的各层之间或应用程序之间交换数据(xml)
可利用其结构方便的编程和进行数据绑定
可维护记录以便重复使用
2、直接执行数据库操作(DataReader)
DDL命令等一些操作必须用直接执行的方式完成
控制更加灵活
占用较少的内存开销
某些情况下可避免DataSet频繁序列化以简化编程提高性能
2、数据访问模块
企业库(Microsoft Enterprise Library)中的数据访问应用程序模块(Data Access Application Block) 能够实现数据访问帮助组件——SqlHelper,以显著减少数据访问代码的数量。
另附微软官方的SQLHelper,其中包括安装版的和单独的cs文件,安装版中有使用例子。下载