一、连接池
虽然请求链接耗时很短,但是确实是需要时间的。一般使用连接池来优化,链接池保持已经打开的数据库链接,这些链接使用相同数据源之间的会话共享。这样就省下了不断
创建和销毁链接的时间了。ADO.NET中连接池对开发者完全透明,数据访问代码不需要做任何修改,当客户端调用Open()方法请求打开链接时,如果连接池中有此链接,链接直接从连接池中取而不是再次创建。当客户端调用Close()或者Dispose()方法时,并没有真正销毁链接,而是将链接放在链接池中,等待下次调用。
ADO.NET本身并不包含任何连接池的机制,不过大部分的提供程序都实现了各自高效的连接池算法。这些算法由托管代码实现。
我们一般用的SQL Server和Oracle都是自动使用连接池。我们可以配置一些连接池的属性。
如你可以这样配置:
<connectionStrings>
<add name="MyTest" connectionString="DATA SOURCE=orcl;PERSIST SECURITY INFO=True;USER ID=sa;PASSWORD=sa;Max Pool Size=100" />
</connectionStrings>
二、Command和DataReader
Command类可以执行所有类型的SQL语句,虽然它可以执行DDL但是我们一般只用它来执行DML
使用命令前我们可以选择命令类型,设置命令文本并把命