首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于LINQ的图像检索优化

基于LINQ的图像检索优化
EN

Stack Overflow用户
提问于 2010-07-27 08:17:57
回答 2查看 283关注 0票数 2

我正在使用LINQ优化数据库中的图像检索。

图像大小约为4000 * 1000像素,重量约为400-600KB。

图像是通过一个控制器检索的,控制器由一个webservice调用。通过jQuery调用Web服务。

第一张图像大约在0.7秒到1.5秒内被检索,随后的图像需要3到4秒。

从数据库读取图像的代码没有包围在using { }中,我很难了解如何将这个子句与简单返回字节数组的方法一起使用。

有什么方法可以提高这里的表现吗?

谢谢

编辑:,我将在得到结果后运行分析并发布代码。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-27 08:27:06

根据我对您的问题的理解,图像是通过web服务检索的,这意味着图像被检索,在SOAP消息中被绑定,通过有线发送,在客户端( LINQ查询所在的地方)未绑定。这总是很慢的。实际发送的数据是实际图像BLOB的1.5至2.0倍。

以这种方式从数据库中获取巨大的气泡总是性能的噩梦。如果需要查询它们(使用LINQ),请考虑只查询元数据。一旦您有了所需的图像ID,您将检索整个图像。

然而,它不会很快变得完美。为了获得更好的性能,每个检索到的映像都应该缓存在您的服务器上(在web服务检索之后),并且不应该超过一次。这种类型的缓存应该是微不足道的实现。或者,您不应该将图像存储为BLOB,但这在设计阶段可能为时已晚。

using上的注意事项:只需将其用于实现IDisposable的任何变量。但是,并不是说这会导致性能下降。

票数 1
EN

Stack Overflow用户

发布于 2010-07-27 08:21:46

如果没有实际的源代码,就很难说出任何东西。更糟糕的是,很难用所述代码说出任何明智的话:程序员很难从经验中发现瓶颈。您需要的是一个体面的服务器端性能分析器(例如dotTrace)和客户端HTTP分析器(如费德勒)。

有了服务器端的代码,您将看到哪些代码行最需要时间来执行,然后尝试根据这些知识进行改进。也许,您从DB中提取了过多的数据,或者它缺少适当的索引。

客户端分析器将向您显示在响应中发送了哪些HTTP头(请记住,HTTP中的缓存是最重要的),以及通常情况下执行请求的时间。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3341780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档