Magento インストールにかなりの数 (約 200) の製品属性を追加しようとしています。それらのほとんどはバイナリになります。
各属性によって、フラット製品テーブルに列が追加されていることがわかります。これらの属性の追加により、パフォーマンスが低下することは予想できますか? 属性数のベスト プラクティスは何ですか?
編集:Magento 1.6.1を使用しています
Magento インストールにかなりの数 (約 200) の製品属性を追加しようとしています。それらのほとんどはバイナリになります。
各属性によって、フラット製品テーブルに列が追加されていることがわかります。これらの属性の追加により、パフォーマンスが低下することは予想できますか? 属性数のベスト プラクティスは何ですか?
編集:Magento 1.6.1を使用しています
知っておくべきことは、Mysqlの最大行サイズだけだと思います。説明については、この記事を参照してください。これが私が話していることを理解するためのそれからの1つの抜粋です:
すべてのテーブル(ストレージエンジンに関係なく)の最大行サイズは65,535バイトです。ストレージエンジンは、この制限に追加の制約を課し、有効な最大行サイズを減らす場合があります。
すべての列の全長がこのサイズを超えることはできないため、最大行サイズは列の数(および場合によってはサイズ)を制限します。たとえば、utf8文字は1文字あたり最大3バイトを必要とするため、CHAR(255)CHARACTER SET utf8列の場合、サーバーは値ごとに255×3=765バイトを割り当てる必要があります。したがって、テーブルには65,535 / 765=85を超えるそのような列を含めることはできません。
したがって、200属性の合計サイズがこの値(65,535バイト)を超えると、すべての属性をフラットテーブルに格納できなくなります。その場合、所有する属性の量を減らすか、すべての属性をフラットテーブルに配置しないでください。商品リストページで利用できるはずの属性のみが必要です。そこに200個すべてを表示するつもりはありません...