彩票走势图

Linq to SQL Profiler使用注意事项——数据库远程请求

原创|使用教程|编辑:龚雪|2014-01-26 09:45:11.000|阅读 184 次

概述:Linq to SQL Profiler是由以色列著名公司Hibernating Rhinos开发出来的数据库工具。并且该软件是由 OR/M 社区的高层领导人亲自开发设计,能够精准的帮助优化App的冗余的代码。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

对数据库进行远程请求是在App里最“昂贵”的一种操作方式,越过本地机器和进程进行远程请求,其代价都是相当“昂贵”的,因为这需要消耗掉系统的大量资源。

无论是查询还是写入,对数据库都会进行远程请求。理论上,我们是需要将远程请求的数量减少到最低。如果当Linq to SQL Profiler检测到某一个request对数据库进行了大量的请求时就会发出提示。导致请求过多通常有以下几点原因:

  • Select N + 1导致了大量的查询产生
  • 对数据库进行了循环的请求模式
  • 更新、插入或是删除了大量的字符实体
  • 我们执行的任务里含有大量的不同的查询

对于第一个原因和Select N + 1有关,请具体参考上一篇文章

 对数据库进行了循环的请求模式通常来讲就是一个BUG,应该要注意避免。我们可以对代码进行重建以取消对数据库的循环请求。

最后两个原因则需要individual basis来解决。有的时候使用另外一种不一样的方法比如批量插入、批量拷贝,或者具体的查询、存储程序等一次性的从数据库里获得所有数据。

另外,session也会出现对数据库请求多次的情况。造成这种情况的原因跟上面列举的四点是一样的。解决方法也大相径庭。只是针对于最后一点:我们执行的任务里含有大量的不同的查询,有另一种更加简单的办法。那就是利用Linq to SQL Profiler自带的一个查询批处理功能,叫futures,它可以让我们将几个不同的查询集合起来,只对数据库进行一次请求。这样一来我们就能有效的减少对数据库的请求次数从而让App的性能有大幅度的提高。

>>欢迎免费下载和试用Linq to SQL Profiler


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP