首页 新闻 会员 周边 捐助

使用LINQ to sql, throw time out exception

0
悬赏园豆:20 [待解决问题]

最近用ling to sql join 多个表,返回查询结果,超过30秒,因为sql connection和command的time out 默认是30秒,所以会抛exception。我不想修改time out时间,怎么优化下,或者有什么好办法吗?

数据库是sql server,如果用同样的sql直接在sql server里运行,大概20秒,为什么用程序运行会加长这个时间呢?我用Sql profiler监控,发现有时40多秒,有时30多秒。难道是linq to sql的问题?求高手解答?

Clarence Yang的主页 Clarence Yang | 初学一级 | 园豆:110
提问于:2013-05-16 21:11
< >
分享
所有回答(4)
0

索引

Yu | 园豆:12990 (专家六级) | 2013-05-16 22:07
0

在字符串里设置超时时间,然后优化你的linq代码,我猜应该你的数据量太大了吧,如果特别大的话数据库里也加上索引,如果还不行的话我觉得你直接用sql吧,或者用EF,linq还是to object好用。

邵明瑞 | 园豆:105 (初学一级) | 2013-05-17 08:51

ling to sql和EF区别是什么?? 怎么我感觉他们在处理和Sql server打交道时,是一样的

支持(0) 反对(0) Clarence Yang | 园豆:110 (初学一级) | 2013-05-17 10:40

@Clarence Yang: 具体是什么操作的原理 我太菜说不上来,不过他们应该不会一样的,要不然为什么微软放弃linq to sql,而推荐使用EF了呢

支持(0) 反对(0) 邵明瑞 | 园豆:105 (初学一级) | 2013-05-17 11:35
0
[秦时明月] | 园豆:738 (小虾三级) | 2013-05-17 09:16
0

上代码

RyanCheng | 园豆:474 (菜鸟二级) | 2013-05-17 17:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册