开学一星期
淅淅沥沥的小雨陆陆续续下了一星期了,天气预报有说明天又有冷空气来到,可能还会下雪,郁闷!
开学的第一天,就逃课看NBA全明星,比赛很精彩,O'NEL的搞笑功夫一流,麦蒂的表现精彩,遗憾的是西部又输了,麦蒂也离MVP一步之遥。不过现在火箭的战绩回升,保留了进军季后赛的希望。明天打太阳,希望火箭能赢。
本来是打算上自习的,下着雨就不愿去了,待在寝室里,没什么事,看了一个微软的一个ADO讲座,简记之。
ADO.NET特征
1 面向非连接的分布式数据源
2 集成XML的支持
3 支持企业级多层应用程序开发
4 由经典ADO发展而来,保留了一些经典ADO的组件特性
ADO.NET体系结构
数据集结构
面向非连接模型
ADO.NET性能设计的考虑
1 更据数据的使用方式来设计数据访问层
2 缓存数据,避免不必要的操作
3 使用服务帐户进行连接
4 必要时连接,尽早释放
5 关闭可关闭的资源
6 减少往返
7 仅返回需要的数据
8 选择适当的事务类型
9 使用存储过程
10 根据性能、可维护性、及实现难度来决定跨层数据传递的方式
数据库连接比较
连接
1 在方法中打开和关闭连接
2 明确地关闭连接
3 当使用DataReaders, 指定CommandBehavior.CloseConnection
4 当使用Fill或Update方法时,不要手工打开连接
5 避免检查OleDbConnection 的State属性
6 使用连接池
SQL指令
1 校验SQL的输入并使用参数
2 仅返回需要的行和例
3 对大的数据集使用分页功能
4 批次执行SQL ,减少往返
5 如果没有数据返回则使用ExecuteNonQuery方法
6 当返回一个标量时,使用ExecuteScalar方法
7 不要在运行时间使用CommandBuilder
存储过程
1 尽量使用存储过程
2 对于OleDbCommand,指令类型为CommandType.Text
3 使用SqlCommand时,指令类型为CommandType.StoredProcedure
4 考虑使用Command.Prepare()
5 尽可能使用输出参数
6 考虑在SQL Server上SET NOCOUNT ON