提升DAO.NET性能

原创 2007年09月11日 22:52:00

  

一、方法中使用接口或基类来传递的优点
在方法中传递对象时,尽量使用类的接口或它的基类,而不要使用具体类,因为接口和抽象类更具兼容性,如:
调用端写成List list = new List();MethodA(list);
被调用时端写成void MethodA(IList list);或void MethodA(ICollection list)的样子。
以后当要传递的只要是实现IList或ICollection接口的对象,都可以做为参数传进去,前提是在这个方法里,有些List专用的方法就无法调用了,只能调用它其类或接口中公开的方法。
二、高效率的增加SQL语句查询条件(已知要知道加几个参数版)
    StringBulider sqlSelect1 = new StringBulider(
“select field1, field2 from t where field1 =@field1 ”)
SqlParameter[] Parms = new SqlParameter{/*TODO:add parm*/}
If(field2 != null)
{
    arraySize = parms1.Length;
    sqlSelect1.Append(“and field2 =@field2”);
    Array.Resize<SqlParameter>(ref parms, arraySize+1);
    Parms[arraySize] = new SqlParameter(“@field2”,SqlDbType.VarChar);
    Parms[arraySize].Value = “xxx”;
}
三、高效率的增加SQL语句查询条件(未知要知道加几个参数版)
    Int arraySize;
If(field != null)
{
    arraySize = parms.length;
    sqlSeelect.Append(“and field = @field”);
    Array.Resize<SqlParameter>(ref parms, arraySize+1);
    parms[arraySize] = new SqlParameter(“@field”,SqlDbType.VarChar);
    parms[arraySize].Value = “xxx”;
}
四、高效使用SqlHelper的事务方法:
    SqlConnection conn = new SqlConnection(ConnString);
    Conn.Open();
    SqlTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommited);
    Try{
SqlHepler.ExecuteNonQuery(trans, CommandType.Text, sqlDelete,parms);
        For(int i=0;i<10;i++)
        {   parms2[0].Value = “aaa”;
            SqlHelper.ExecuteNonQuery(
trans,CommandType.Text, sqlInsert, parms2);
}
        trans.Commit();
}catch(Exception e){ trans.Rollback();
 throw new ApplicationException(e.Message)
}finally{ Conn.Close();}
五、遍历DataRead时查询这某字段是否为DBNull的方法:
    While(dr.Read()){
    If(!dr.IsDBNull(0)){dr.GetInt32(0);}}
六、使用ExecuteScalar取ID不出错的方法:
    Int ID = 0;
    Int.TryParse(SqlCommand.ExecuteScalar(
conn, CommandType.Text, sqlInsert, parms).ToString(), out ID);
    return ID;
七、使用ExecuteScalar来取Count(field)的SQL语句时直接进行显示转换可提高性能:
    Total = (int)SqlCommand.ExecuteScalar(
SqlConneciton, CommandType.Text, sqlSelect,parms);
 
未完待续

提升Java性能的基本方法

Java从诞生之日起就被质疑:字节码在JVM中运行是否会比机器码直接运行的效率会 低很多?很多技术高手、权威网站都有类似的测试和争论,从而来表明Java比C (或C++) 更快或效率相同。此类话题我们...
  • lexang1
  • lexang1
  • 2015年11月18日 23:52
  • 716

JAVA并发编程-计算程序性能提升比率

并发编程的用途: 并发编程用途通常用于图像处理,服务端编程需要处理大量数据的情况下使: **并发**是在同一CPU下同时执行不同的任务,有操作系统来控制时间片。 : **并行**是在多CPU情况下同时...
  • shf4715
  • shf4715
  • 2017年02月18日 12:32
  • 565

Hibernate提高性能的方法总结

Hibernate 提高性能的方法:(未完) 一、缓存机制:                缓存是介于物理数据源与应用程序之间,是对数据库中的数据复制一份临时放在内存中的容器,其作用是为了减少应用...
  • u014078192
  • u014078192
  • 2014年03月26日 00:35
  • 1010

深度学习性能提升的诀窍

深度学习性能提升的诀窍
  • x_r_su
  • x_r_su
  • 2016年11月05日 18:07
  • 1628

前端优化:九个技巧,提高Web性能

当今数字世界,存在着无数的网站,每天都需要处理各种不同的原因的访问。然而,这些网站中有很大一部分显得笨重,使用起来也很麻烦。没怎么优化的网站会被各种各样的问题困扰,包括加载时间、不支持移动设备、浏览器...
  • VermouthDream
  • VermouthDream
  • 2017年02月11日 21:37
  • 1498

如何提高数据库访问性能

特别说明: 1、  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识; 2、  本文许多示例及概念是基于Oracle数据库描述,对于其它关...
  • u010327174
  • u010327174
  • 2014年10月16日 16:35
  • 1757

编写高性能Java代码的最佳实践

原文:How to Improve the Performance of a Java Application 作者:Eugen Paraschiv 翻译:雁惊寒 摘要:本文首先介绍了...
  • dev_csdn
  • dev_csdn
  • 2018年01月11日 14:38
  • 2841

提高MySQL效率与性能的技巧

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据...
  • cdl123456
  • cdl123456
  • 2014年07月18日 17:08
  • 2556

提高数据库并发性能概要

Table of Contents 1 细粒度锁表2 拆表 2.1 物理拆分方式2.2 逻辑拆分方式 3 多数据源(多库)4 乐观锁5 临时表6 缓存7 数据库集群8 读写分离策略9...
  • novelly
  • novelly
  • 2014年03月09日 10:33
  • 579

实验楼sql进阶之简化数据操作提升性能(window)

背景成绩管理系统中,当有同学的分数被修改时,需要通过触发器将成绩表中的这条更新记录存到新的表 modifymark 中。同时需要创建一个存储过程用来显示数学课的全部学生的成绩,并按分数降序排列。另外,...
  • u013716535
  • u013716535
  • 2017年11月07日 21:05
  • 104
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:提升DAO.NET性能
举报原因:
原因补充:

(最多只允许输入30个字)