`

数据绑定 .net 关于数据处理相关的优化

阅读更多
关于数据处理相关的优化

一、 SqlDataRead和Dataset的选择

Sqldataread优点:读取数据非常快。如果对返回的数据不需做大量处理的情况下,建议使用SqlDataReader,其性能要比datset好很多。缺点:直到数据读完才可close掉于数据库的连接

(SqlDataReader 读数据是快速向前的。SqlDataReader 类提供了一种读取从 SQL Server 数据库检索的只进数据流的方法。它使用 SQL Server 的本机网络数据传输格式从数据库连接直接读取数据。DataReader需及时显式的close。可及时的释放对数据的连接。)

Dataset是把数据读出,缓存在内存中。缺点:对内存的占用较高。如果对返回的数据需做大量的处理用Dataset比较好些可以减少对数据库的连接操作。优点:只需连接一次就可close于数据库的连接

*一般情况下,读取大量数据,对返回数据不做大量处理用SqlDataReader.对返回数据大量处理用datset比较合适.对SqlDataReader和Dataset的选择取决于程序功能的实现。


二、 ExecuteNonQuery和ExecuteScalar

对数据的更新不需要返回结果集,建议使用ExecuteNonQuery。由于不返回结果集可省掉网络数据传输。它仅仅返回受影响的行数。如果只需更新数据用ExecuteNonQuery性能的开销比较小。

ExecuteScalar它只返回结果集中第一行的第一列。使用 ExecuteScalar 方法从数据库中检索单个值(例如id号)。与使用 ExecuteReader 方法, 返回的数据执行生成单个值所需的操作相比,此操作需要的代码较少。

*只需更新数据用ExecuteNonQuery.单个值的查询使用ExecuteScalar

数据绑定的选择

三、 数据的绑定DataBinder

一般的绑定方法<%# DataBinder.Eval(Container.DataItem, "字段名") %>

用DataBinder.eval 绑定不必关心数据来源(Dataread或dataset)。不必关心数据的类型eval会把这个数据对象转换为一个字符串。在底层绑定做了很多工作,使用了反射性能。正因为使用方便了,但却影响了数据性能。

来看下<%# DataBinder.Eval(Container.DataItem, "字段名") %>。当于dataset绑定时,DataItem其实式一个DataRowView(如果绑定的是一个数据读取器(dataread)它就是一个IdataRecord。)因此直接转换成DataRowView的话,将会给性能带来很大提升。.

<%# ctype(Container.DataItem,DataRowView).Row("字段名") %>

*对数据的绑定建议使用<%# ctype(Container.DataItem,DataRowView).Row("字段名") %>。数据量大的时候可提高几百倍的速度。使用时注意2方面:1.需在页面添加<%@ Import namespace="System.Data"%>.2.注意字段名的大小写(要特别注意)。如果和查询的不一致,在某些情况下会导致比<%# DataBinder.Eval(Container.DataItem, "字段名") %>还要慢。如果想进一步提高速度,可采用<%# ctype(Container.DataItem,DataRowView).Row(0) %>的方法。不过其可读性不高。
分享到:
评论

相关推荐

    .net性能优化宝典

    2.3.3 使用绑定变量 ★... 19 2.4 DataReader 20 2.4.1 显式关闭DataReader 20 2.4.2 用索引号访问代替名称索引号访问属性... 20 2.4.3 使用类型化方法访问属性... 20 2.4.4 使用多数据集... 20 2.5 DataSet ...

    ASP.Net性能优化.ppt

    ASP.Net性能优化 1.会话状态的恰当选择 2.Viewstate优化 3.Cache优化 4.控件优化与选择 5.返回多个记录集 6.数据分页优化 7.Ado.Net对象选择 8.数据前绑定 9.存储过程优化,C# Coding优化

    asp.net知识库

    利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到基本存储过程生成 使用SQLDMO控制 SQL Server 使用SQL...

    ADO.NET本质论.pdf

    2.3.2 使用ado.net数据提供程序编写泛型数据访问代码 2.3.3 数据提供程序模型中的游标 2.4 断开模式和dataset 2.5 .net中的xml api 2.5.1 流式xml 2.5.2 xml架构 2.5.3 xmldocument,xpath和...

    微软ASP.NET入门教程

    数据绑定服务器控件 服务器端数据访问 数据访问和自定义 使用业务对象 创作自定义控件 Web 窗体控件引用 Web 窗体语法引用 ASP.NET Web 服务 Web 服务介绍 编写简单的 Web 服务 Web 服务类型封送 使用 ...

    asp.net完全入门

    ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让ASP.NET远远超越了ASP,同时也提供给web开发人员更好的灵活性,有效缩短...

    ASP.NET完全入门PDF

    DataTable Events 第六章数据绑定i. Repeater ii. DataList iii. DataGrid 第七章事务处理 i. ASP.NET事务处理机制ii. 一个完整的例子iii. 利用数据库的事务处理 iv. 利用MTS的事务处理v. 小结第四篇 应用程序第一...

    《ASP.NET 完全入门》

    ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让ASP.NET远远超越了ASP,同时也提供给web开发人员更好的灵活性,有效缩短...

    亮剑.NET深入体验与实战精要2

    3.3.1 页面数据绑定全攻略 131 3.3.2 Bind和Eval的区别 140 3.4 ASP.NET编程中的技巧 142 3.4.1 页面之间传值的7种方法 142 3.4.2 get与post方法的区别 146 3.4.3 ASP.NET服务器控件和 HTML控件的区别 146 3.4.4 ...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    技术点 ADO.Net技术应用、SQLServer、MD5安全算法、基于NPOI的Excel文件处理、树状结构数据处理、递归、CodeSmith、代码生成器、三层架构。 项目说明 这是一个用WinForm技术实现的系统,传智播客在开课的半个月就...

    ASP.NET 2.0技术内幕

    全书共15章,主题涉及HTTP运行库、安全性、缓存、状态管理、控件、数据绑定和数据访问。 本书主题丰富,讲解透彻,包含大量实例,是一本理想的核心参考书,适合具有一定基础的Web开发人员阅读。 《ASP.NET...

    ASP.NET 3.5 开发大全

    8.6 数据绑定控件(DetailsView) 8.7 数据绑定控件(ListView) 8.8 数据绑定控件(DataPager) 8.9 小结 第9章 ASP.NET操作数据库 9.1 使用ADO.NET操作数据库 9.1.1 使用ExecuteReader()操作数据库 9.1.2 使用...

    asp.net 完全入门

    第六章 数据绑定 i. Repeater ii. DataList iii. DataGrid 第七章 事务处理 i. ASP.NET事务处理机制 ii. 一个完整的例子 iii. 利用数据库的事务处理 iv. 利用MTS的事务处理 v. 小结 第四篇 ...

    ASP.NET3.5从入门到精通

    8.6 数据绑定控件(DetailsView) 14 第一篇 窗口与界面编程 8.7 数据绑定控件(ListView) 8.8 数据绑定控件(DataPager) 8.9 小结 第 9 章 ASP.NET 操作数据库 9.1 使用ADO.NET 操作数据库 9.1.1 使用...

    ASP.NET完全入门

    第六章 数据绑定 i. Repeater ii. DataList iii. DataGrid 第七章 事务处理 i. ASP.NET事务处理机制 ii. 一个完整的例子 iii. 利用数据库的事务处理 iv. 利用MTS的事务处理 v. 小结 第四篇 应用程序 第一章 ...

    亮剑.NET深入体验与实战精要3

    3.3.1 页面数据绑定全攻略 131 3.3.2 Bind和Eval的区别 140 3.4 ASP.NET编程中的技巧 142 3.4.1 页面之间传值的7种方法 142 3.4.2 get与post方法的区别 146 3.4.3 ASP.NET服务器控件和 HTML控件的区别 146 3.4.4 ...

    ASP.NET Night Words

    8.3 数据绑定表达式 120 8.4 gridview控件 122 8.5 datalist控件 133 8.6 repeater控件 136 8.7 form view控件 138 8.8 detailsview控件 141 8.9 总结 144 第9章 验证控件 145 9.1 数据验证介绍 145 9.2 ...

Global site tag (gtag.js) - Google Analytics