请教,哪一个更快?
我在SqlHelper中内设连接字符串,有两种办法:
public static readonly string strConnection = ConfigurationManager.ConnectionStrings[ "dsn "].ConnectionString;
从配置文件中读取
public string strConnection = System.Web.HttpContext.Current.Application[ "dsn "].ToString();
从Application中读取(在Application_Start时已经读取过dsn)
我个人觉得第二种办法快,是这样吗?Application中会有很多很多缓存对象。
------解决方案--------------------public string strConnection = System.Web.HttpContext.Current.Application[ "dsn "].ToString();
这种绝对快
不过,在网页中直接把页面缓存起来是最快的
------解决方案--------------------没试过 个人觉得这个花消可以忽略不计.
建议你进行测试:
每个循环100000次看看哪个快.
我估计差不多一样.
------解决方案--------------------System.Web.HttpContext.Current.Application[ "dsn "].ToString();
这个应该是放在服务器端内存里的,所以快些!
------解决方案--------------------同样快 两个都缓存了 放在内存中
同样hashtable形式读取数据
应该是一样的
------解决方案--------------------static readonly 的赋值只用执行一次,应该差不多.
------解决方案--------------------强烈建议用第一个
------解决方案--------------------那写成const是不是更快?
------解决方案--------------------我一直用第一个,没有比较过两个的区别。
------解决方案--------------------正确做法应该是使用哈希函数缓存数据库连接
你这样的做法觉得不可取
------解决方案--------------------这两个从理论上来说上一样快
实际上我也没感觉到任何差别
------解决方案--------------------差不多的。
------解决方案--------------------连接自有连接池去处理,自己最好还是不要想办法去缓存连接
个人觉得2个应该是差不多的;
------解决方案--------------------这个应该不是提高的性能的关键,连接由连接池管理,我们记得及时回收就OK
------解决方案--------------------没有用过,理解是:第二种办法快
------解决方案--------------------应该是第二种速度快吧!
我一般都是把连接字符串放在web.config里,或者是那种带designer的工程,在那个工程里把那个configure文件夹里的那个文件,给一次性配置好了就都OK了。
------解决方案--------------------嗯.应该第二.
public static readonly 这些好像很多.