2013-07-05 177 views
2

在我的场景中,Sitecore数据库(主数据库)获得频繁的更新,并且在几个月后它将拥有100,000个数据。客户更喜欢将它们放在主数据库中。Sitecore项目不扩展

树层次的东西如下,

Categories 
    category 1a 
     -------category2 
        ---------category3 
           -----1000's of articles under category 3  
    category 1b 
      ----1000's of articles 

    category 1c 
      --------category 2b 
         ---------1000's of articles 

还有像700个类别。这是否会在树中导致严重的性能问题?目前,我拥有200,000篇文章,而且我无法展开“类别”节点。但“内容”节点得到扩展。 可能是什么问题?这是设计中的缺陷吗?

+0

你有什么Sitecore版本?对于很多内容,您可以更新到Sitecore 7并使用存储桶。在Sitecore 7之前的版本中,如果一个项目下有多个子项,则Sitecore会出现一些性能问题。 – 2013-07-05 06:42:38

+0

Sitecore v6.6 13040 – Dhanuka777

+0

如果您不想更新Sitecore 7,则可以使用Sitecore 6中的Item Buckets。 – 2013-07-05 06:55:48

回答

3

你无法扩大的原因Categoriescategory 1b以下的子项目数。当您试图展开Categories节点,Content Editor检查其所有的孩子,他们是否有子女(所以它会检查Category 1aCategory 1bCategory 1c孩子,从你的问题显示内容结构,有很多低于Category 1b项目的孩子。

根据约翰·韦斯特(例如,在Maximize Sitecore Content Editor Performance blog post),你应该尝试每件儿童限制在25,避免与100名多名儿童的项目。

试图改变按日期(年/月,甚至您的内容拆分一天),所以你的结构看起来像这样:

Categories 
    Category 1a 
     Category 2 
      Category 3 
       2012 
        01 
        02 
       2013 
        06 
        07 
    Category 1b 
     2013 
      01 
      02 
      ... 

如果你不能做到这一点,你可以改变ContentEditor.CheckHasChildrenOnTreeNodes假的价值 - 这将从计数孩子停止Sitecore的 - Sitecore的将把所有的节点,好像他们是低于他们的孩子。

<setting name="ContentEditor.CheckHasChildrenOnTreeNodes" value="false" /> 
+0

这适用于魅力,webconfig设置!感谢Maras,数据库中有600,000项。唯一的问题是,树中的所有项目都显示加号,因为它不计算子项。但它总比没有好。我们也期待遵循那年/月/日的文件夹结构来摆脱这种性能灾难。 – Dhanuka777

4

Sitecore在第7版之前的最佳做法是让一个节点的子项少于100个项目,否则会遇到您所看到的性能问题。

您可以使用项目存储桶模块来解决此限制,但是如果您正在使用项目存储桶模块,则当前没有升级到7的路径。现在,在基于搜索的体系结构不具有子节点限制的情况下,现在可以更好地升级到7。