《Asp.Net 2.0 揭秘》读书笔记(十六)

本文探讨了SQL Server数据访问组件(SystemDataSqlServerCe)的高效使用方法,包括使用DataReader进行数据读取、SQL延迟函数的应用、连接池管理、DataReader的正确使用方式、多活动结果集(MARS)的实现及异步数据层对请求性能的提升等。
摘要由CSDN通过智能技术生成

创建数据访问组件

*SystemDataSqlServerCe:SQL SERVER MOBILE EDITION;

*在获取数据的时候建议使用DataReader

*SQL 延迟函数:WAITFOR DELAY ‘0:0:03’;

*记得一本书里说过一个函数执行的过程一般小于一纳秒;

*使用sqlconnection默认是代开连接缓冲池的,默认的大小是100;

*conn.close():不是真的销毁连接而是放回到连接池中;

*列出当前所有连接到该数据库的用户连接

SQL CODE:SELECT * FROMmaster ..sysprocesses WHERE hostname<>''

*DataReader使用的时候当读取输出参数时得先关闭reader再读取,不然会出现错误,因为reader在读取的时候会自动关闭;

*数据库技术的存取效率(msdn文章):Performance Comparison:DataAccess Techniques;

*使用CommandBehavior.CloseConnection的最大缺点是阻碍使用者添加任何异常代码;

*在一条命令中执行多条命令可以提高效率,减少数据库连接;

*reader[“ColumName”]:获取此列的值返回obj类型

*当command返回多个结果集时通过NextResult()到下个结果集;

*MARS:Multiple Active Resultsets,多活动结果集;

*上面那个东西就是对一个连接对象绑定多个Command对象,同时使用,但是必须对连接字符串中包含“MultipleActiveResultSets=True”;

*每个请求asp.net都会分配线程池中的一个新的线程用来执行,如果线程池中没有线程可用就会将新的请求放入队列中,如果队列太大服务器对新的请求就会返回503错误,表示服务器太忙;使用异步的数据层的时候可以对请求性能有所提升,因为当请求未返回的时候当前线程会先释放回请求线程池,数据取出后再申请新的线程继续当前的请求;

*可以使用Web配置文件(Web.config)中的HttpRuntime节点来配置Asp.net程序的线程池。通过修改appRequestQueueLimit、minLocalRequestFreeThreads和minFreeThreads属性,控制在asp.net framework的队列放弃和输出错误信息签可以处理多少请求。

*使用异步的Ado.net的方法时,连接字符串必须添加AsynchronousProcessing=true,来启用数据库的异步功能;

*对请求的页面设置异步才能实现上面的性能提升(

<%@ Page Async="true" AsyncTimeout="8"%>

)

*具体的例子 Page 576;

*executeInParallel:是并发执行还是并行执行,两者的区别是在微观上并行也是同时执行;

*替代Page.RegisterAsyncTask():AddOnPreRenderCompleteAsync();

*启用CLR(通用语言运行时)集成

数据库命令(查询分析器):

sp_configure ‘clr enabled’ ,1

RECONFIGURE

无视出现的警告

*使用SQL SERVER数据库对象 Page 578;

*注册或者注销程序集和用户自定义类型:

CREATE ASSEMBLEY DBMovie FROM ‘C:\DBMovie.dll’

DROP Assembly DBMovie

SELECT * FROM sys.assembles \\查看当前数据库的所有程序集;

CREATE TYPE dbo.DBMovie EXTERNAL NAME DBMmovie.DBMovie

DROP TYPE DBMovie

同理可以自定义创建存数过程

真的很强大,不过暂时不知道这样用的好处,还需要时间的提炼啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值