Sitecore GetItem方法的表现

时间:2017-05-16 07:57:12

标签: c# .net performance sitecore

我在Sitecore项目中使用以下代码:

Item item = database.GetItem(new ID("{id is here}"));

第一次检索此项目需要70多秒。第二个电话和所有其他电话工作得更快。 是否有可能提高第一次通话的效果?

1 个答案:

答案 0 :(得分:0)

我可以提出的假设是归咎于初始项目的预取(\App_Config\Prefetch中的配置)。所有条件都组合成一个巨型SQL查询,在大型数据库上可能变成full table scan

query has server-side sorting起,它必须像处理您的情况一样,需要花费大量时间来处理庞大的数据集。 Initial prefetch锁定数据库操作,以便所有其他操作都必须等待它完成。

缓存清理操作对初始预取标志没有影响,因此,每次数据库运行时,它只执行一次。

尽管如此,只有通过检查performance profile才能得出准确的结论。