zoukankan      html  css  js  c++  java
  • ADO.net下几个提高数据访问性能的方法

    1  使用最佳的DataProvider(如在访问SQL时请使用SqlClient,在访问Oracle时使用OraclClient)

    2  一般情况下,在读取大量数据,对返回的数据不做大量的修改请使用SqlDataReader.因为它提供轻量快速的单向读取。但若对返回的数据做大量处理时请用Dataset,因为它能提供非连接的数据访问。曾有人统计,在只读的情况下,DataReader比DataSet快16%左右,并且数据越多,性能差别越明显。

    3 若只需要更新数据请用ExecuteNonQuery,因为它不返回结果集,可节省大量的网络数据传输,单个值的查询请用ExecuteScalar,因为它只返回结果集的第一行。

    4 不用<%# DataBinder.EVal(Container.DataItem,"FieldName")%>来绑定字段,
        而用 <@%((DataRowView)Container.DataItem)["fieldNmae"]%>,
        如果你是用DataReader读取的数据,还可以利用更高效的<%# ((DbDataRecord)Container.DataItem).GetInt(1) %>


    5 因ADO.net中可自动管理连接池,所以请使用连接池连接数据库,以提高性能。

    6 使用存储过程来操作数据

    另个还有几个常用的提高性能的方法如下:
    不要使用不必要的Session
     不使用不必要的Server Control
     不使用不必要的ViewState
     不要用Exception控制程序流程
     禁用VB和JScript动态数据类型
     关闭Asp.net的Debug模式。
     使用Asp.net Output cache缓存数据。
     对于大量的String连接,请用StringBuilder类。


     注:可参看http://aspalliance.com/1533_ASPNET_Performance_Tips.all#Page15

  • 相关阅读:
    Python基础04_str_方法
    Python基础03_pycharm
    Python基础02_基本数据类型_以及while
    Python基础01_介绍_HelloWorld
    Linux基础知识_Shell编程笔记
    python基础之centos6.5 升级 python2.7, 安装pip, MySQLdb
    不得不补:PHP的JSON, SQL
    JS类小功能
    1083.是否存在相等的差(20)
    c++ 的vector sort遇到栈错误
  • 原文地址:https://www.cnblogs.com/zhangronghua/p/555524.html
Copyright © 2011-2022 走看看