Answers:
如果您在服务器上安装了PHPMyAdmin,则可以查看Magento的表。您会发现从catalog_product_...
和开始很多catalog_category_...
。
所有这些都用于每种产品和类别,因此对于您调用的每个页面都意味着很多复杂而繁琐的查询。
为了减轻MySQL的负担并加快购物速度,Magento提供了平面表。例如catalog_product_flat_1
。如果您查看此表的结构,就会发现它具有大量的基本产品数据,这意味着,例如在类别产品列表中,只需要对该表执行一次查询,而不是查询包含属性数据的多个其他表。
但是,此数据是从其他表中的数据汇总而来的,这意味着每次保存产品时,都会刷新几个indexes
(System > Configuration > Index Management
)来编译此产品数据。在某些情况下,例如在开发时,这可能是不必要的。您希望立即看到所有更改,即使页面加载时间可能需要一段时间。
因此,总而言之,每当您向公众开设商店时,都应将其打开,并且在编程时尽量不要使用完整的产品或目录对象,而应使用平面索引提供的数据。
如果您有很多类别或类别的许多定制属性,那么这是一个不错的选择,因为它降低了查询的复杂性。请记住,重载从中受益更大。主要缺点是category和flat_categories使用非常不同的接口,因此在启用扁平类别的情况下,代码通常必须非常谨慎。