什么时候应该使用类别平板选项?


16

作为后续到前一个问题,我想知道:

什么时候应该使用类别平板选项?

在谷歌搜索时,我发现了一个建议,即“ 当您有很多类别时 ” 启用它。但是多少钱呢?

我很容易理解,就性能而言,激活产品的平板电脑是一个不错的决定,但是对于目录而言,它真的同样重要吗?

从中得出什么结论呢?我刚刚了解到,启用平面类别表会导致无法保存类别产品排名。至少不像没有flat选项那样简单(向Marius寻求帮助)。还有其他可提及的事情吗?

提前致谢 :)

Answers:


10

如果您在服务器上安装了PHPMyAdmin,则可以查看Magento的表。您会发现从catalog_product_...和开始很多catalog_category_...

所有这些都用于每种产品和类别,因此对于您调用的每个页面都意味着很多复杂而繁琐的查询。

为了减轻MySQL的负担并加快购物速度,Magento提供了平面表。例如catalog_product_flat_1。如果您查看此表的结构,就会发现它具有大量的基本产品数据,这意味着,例如在类别产品列表中,只需要对该表执行一次查询,而不是查询包含属性数据的多个其他表。

但是,此数据是从其他表中的数据汇总而来的,这意味着每次保存产品时,都会刷新几个indexesSystem > Configuration > Index Management)来编译此产品数据。在某些情况下,例如在开发时,这可能是不必要的。您希望立即看到所有更改,即使页面加载时间可能需要一段时间。

因此,总而言之,每当您向公众开设商店时,都应将其打开,并且在编程时尽量不要使用完整的产品或目录对象,而应使用平面索引提供的数据。


我想我总是会在生产环境中激活平面产品表。但是我不太确定平面类别表。所以你说你总是会同时激活两者?无论您有多少目录?
Celldweller

始终激活它们,类别越多,当然带来的好处越大,但是即使您只有10个类别,它仍然可以保存几个查询。
桑德·曼格尔

4
您应该始终激活平面目录实体,但是从理论上讲,有些情况下它不起作用。当您必须在产品清单中使用许多属性并且超过了mysql max行限制时,就会发生这种情况。我见过它只发生过一次。您不必担心太多,但是万一发生,您将知道原因。
马里乌斯

@Celldweller我们可以提供有关您问题的更多信息吗?
桑德·曼格尔

0

如果您有很多类别或类别的许多定制属性,那么这是一个不错的选择,因为它降低了查询的复杂性。请记住,重载从中受益更大。主要缺点是category和flat_categories使用非常不同的接口,因此在启用扁平类别的情况下,代码通常必须非常谨慎。


他们又来了。很多很多。;-)所以您还会说“取决于”?当您有10个目录时,是否会激活平面类别表?还是50?甚至有可能画一条线吗?
Celldweller

需要了解一些示例的情况,以便在启用固定目录的同时进行代码更改。
阿努拉格·坎德尔沃尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.