查询比较特殊,简化下语句的大概含义是Select * from Table where (col >=3000 and col <=3001) or(col >=3050 and col<=3055) or......
where条件非常长,基本相当于从千万级以上的数据库中,查询几百个区间段内的所有数据,实际业务要更复杂些,大概意思是这样,通过C#的线程池连接访问数据库,结果很多超时,该怎么办,正常如果只开几个线程应该不会超时的,感觉线程池疯了一样开线程,如果单线程只需要几秒就能返回结果,可是用了线程池,设置连接超时为1分钟以上都不行,感觉数据库完全吃不消
用的SQL2008
求助c#通过线程池去数据库查询,结果很多任务超时怎么办
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
_1_1_7_ 2016-07-07 09:05关注控制一下线程数:
对于线程池主要的控制有控制线程数大小:ThreadPool.SetMaxThreads 方法
public static bool SetMaxThreads(
int workerThreads,
int completionPortThreads
)
参数:workerThreads
类型:System.Int32
线程池中辅助线程的最大数目。
completionPortThreads
类型:System.Int32
线程池中异步 I/O 线程的最大数目。解决 无用评论 打赏 举报