就是数据库的访问方式,我想了三种方法,不知道哪种好一点
第1种,打开数据库获取Connecton对象后,保存为全局对象,一直保持在打开状态,所有对数据库的操作都用此对象。但我不知道如果有两个线程同时使用此对象会不会出问题。
第2种. 每次访问数据库时都用Open创建新的连接,访问完后立即关闭。这样效率是否会低一点。
第3种. 用连接池,我看好多地方都在讲这个,但我不知道怎么用。是在程序里自己维护连接池,还是由系统维护,你用OpenConnection的时候其实是从连接池中取。
如果你使用 System.Data.SqlClient.SqlConnection.SqlConnection 则不需要自己维护连接池,因为它的 Close() 方法就是“放入连接池”功能。因此每当在一个方法里要使用连接,可以这样写:
using(SqlConnection conn=new SqlConnection(ConnString))
{
......//创建SqlCommand对象,读写数据。
}
这确保将它放入连接池。 迟开早关,这是必须要记住的
数据库连接资源比内存还要稀缺,如果只是为了提高性能,应该从缓存信息入手而不是考虑缓存数据连接.