我的网站上有几个性能问题。我使用的是asp.net mvc 2和实体框架4.0。我买了一个来查看EF生成了什么样的SQL请求。
例如,一些页面需要3到5秒的时间打开。这对我的当事人来说太过分了。
为了查看EF生成的SQL是否存在性能问题,我使用我的分析器并在中复制/粘贴生成的SQL,以查看执行计划和Sql统计信息。结果显示在不到一秒钟。
现在我已经消除了SQL查询,我怀疑EF在buidling查询步骤中。
我一步一步地遵循msdn来预生成我的视图。我没有看到任何表现上的提高。
如何确保我的查询使用这些预生成的视图?
我能做些什么来提高我的网站的性能吗?
谢谢
发布于 2012-03-26 14:18:53
首先,请记住,预编译查询在第一次运行时仍然要花费同样长的时间(实际上稍微长一点),因为这些查询是在第一次调用时编译的。在第一次调用之后,您将看到单个查询的性能显著提高。
然而,对于所有的性能问题,您会发现最好的答案是:首先找出最耗时的时间,然后在这方面进行改进。除非您已经运行了分析器,并且知道您的系统处于阻塞的位置,否则您花费的任何试图加快速度的时间都可能被浪费。
一旦你确定了什么是最需要的时间,就有很多可能的技术可以用来加快速度:
最后一个注意:在实体框架5中,他们计划实现自动查询缓存,这将使预编译查询几乎毫无用处。因此,我建议只在你确信你会得到重大改进的地方去做。
https://stackoverflow.com/questions/9873792
复制相似问题