我希望在Magento安装中添加大量(约200个)产品属性。他们中的大多数都是二元的。
我看到每个属性都在平面产品表中添加了一列。由于添加了这些属性,我是否应该期待性能受到影响?什么是属性数量的最佳实践?
编辑:我们正在使用Magento 1.6.1
答案 0 :(得分:2)
我认为你唯一应该注意的是max Mysql行大小。有关说明,请参阅this文章。这里有一段摘录来理解我在说什么:
每个表(无论存储引擎如何)的最大行大小为65,535字节。存储引擎可能会对此限制设置其他约束,从而减少有效的最大行大小。
最大行大小会限制列的数量(可能是大小),因为所有列的总长度不能超过此大小。例如,utf8字符每个字符最多需要三个字节,因此对于CHAR(255)CHARACTER SET utf8列,服务器必须为每个值分配255×3 = 765个字节。因此,一个表不能包含超过65,535/765 = 85个这样的列。
因此,如果200属性的总大小超过此值(65,535字节),则您将无法将所有属性存储在Flat表中。在这种情况下,您应该缩短您拥有的属性数量,或者只是不要将所有属性放置到Flat table 。您只需要在产品列表页面上可用的属性。我不会在那里显示所有200个......