知识大全 ADO.NET性能改善方法集合[1]
Posted 知
篇首语:没有激流就称不上勇进,没有山峰则谈不上攀登。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ADO.NET性能改善方法集合[1]相关的知识,希望对你有一定的参考价值。
ADO.NET性能改善方法集合[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
总的考虑方向
) 根据数据使用的方式来设计数据访问层
) 缓存数据 避免不必要的操作
) 使用服务帐户进行连接
) 必要时连接 尽早释放
) 关闭可关闭的资源
) 减少往返
) 仅返回需要的数据
) 选择适当的事务类型
) 使用存储过程
根据性能维护性 及实现难度来决定跨层数据传递的方式
具体实现
)选用合适的Data Provider
应尽量使用专用的Data Provider 下面是一个性能比较表
可以看出SqlClient的速度是最快的 其主要原因是其他的数据提供者都经过的几个层次的转换
可以看出 SqlClient直接访问DB Netlib而其他的数据提供者都经过了两层转换 因此 在设计多层应用的时候 并不是层次越多越好 而是应该在可扩展性与性能间取折中 增加层次是会降低性能的
) 数据库连接
i 在方法中打开和关闭连接 即不要在类的构造函数中打开连接 在类的析构函数中关闭连接
ii 使用完连接明确地关闭 因为有连接池的支持 关闭连接只是将连接放回连接池 并不是真正销毁 不会带来性能开销 而会增加连接池中可用连接 提升性能
iii 当使用DataReaders时 指定CommandBehavior CloseConnection
iv 当使用Fill()与Updata()时 不要手动打开连接 因为DataAdapter会自动开启连接 但是如果是Command则需要手动开启
v 避免检查OleDbConnection的State属性 其性能开销相当大
vi 使用连接池 这种方法可以大幅度提高性能 默认的情况下 通过SqlClient连接数据库时 会使用连接池 另可以通过连接字符串来控制连接池的最大值 最小值 以及是否开启连接池
) SQL指令
i 检查SQL的输入 并使用参数 直接使用字符连接容易遭受注入式攻击
ii 仅返回需要的行和例
iii 对大的数据集使用分页功能
cha138/Article/program/net/201311/15084相关参考
ADO.NET性能改善方法集合[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! iv批次执行
使用ADO.NET2.0提升数据交互性能(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
ADO.NET2.0数据异步处理改善用户体验 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 支持
挖掘ADO.NETEntity框架的性能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ADON
使用ADO.NET2.0提升数据交互性能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前言&n
使用ADO.NET2.0提升数据交互性能(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!三异步
掌握ADO.NET的十个热门技巧[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ADONE
知识大全 ADO.NET访问Oracle 9i存储过程(上)[1]
ADO.NET访问Oracle9i存储过程(上)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
知识大全 ADO.NET Entity Framework 试水——并发[1]
ADO.NETEntityFramework试水——并发[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
经测试ADO.NET2.0竟然比1.0要慢 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 镜子里