读书人

多线程如何查数据库提高效率啊球版主

发布时间: 2013-03-17 13:48:32 作者: rapoo

多线程怎么查数据库提高效率啊,球版主
如果利用多线程,返回SqlDataReader 对象,有用么,怎么分开一起查询呢

提高效率的办法,其他的也行,数据有几十万个
[解决办法]
SqlDataReader是独占连接且只读的,效率很高
你可以将要查询的数据按照规则(比如把主键分成若干区间)拆分成多个,然后用多个线程查询,不过数据库连接池的默认连接数比较有限,一般很少这么弄
尽量用缓存
[解决办法]
如果要提高查询性能 使用多线程查询反而效率更低 除非你为每个线程使用单独的连接池(or连接串) 就算弄好了 也要考虑数据合并问题 有没有重复数据

这些都很麻烦 建议查询那些实时性不高的数据时使用缓存(cache)
查询实时性很高的数据 尽量优化SQL查询语句 设计好表的索引等 就算超大的数据表速度也不会很慢
SQL内部的查询应该也是使用了并行化处理 充分运用CPU 它查询数据比LINQ快非常多

读书人网 >C#

热点推荐