EAV Kataloğu ve Flat Kataloğu arasındaki fark aşağıdaki gibidir:
1. Eav Kataloğu
EAV, verilerin tamamen normalize edilmiş formda olduğu varlık özellik değeri veritabanı modelidir. Her sütun veri değeri kendi veri türü tablosunda saklanır. Bir ürün için örnek,
ürün kimliği catalog_product_entity_int
tabloda saklanır ,
catalog_product_entity_varchar
Tablodaki ürün adı ,
catalog_product_entity_decimal
Tablodaki ürün fiyatı ,
catalog_product_entity_datetime
tabloda ürün yaratma tarihi ,
catalog_product_entity_text
tablodaki ürün açıklaması .
EAV, yalnızca bir ürünün ayrıntılarını almak isteseniz bile 5-6 masaya katıldığı için karmaşıktır.
Sütunlar, EAV'deki özellikler olarak adlandırılır.
2. Düz Katalog
Düz model sadece bir tablo kullanır, bu yüzden normalleştirilmez ve daha fazla veritabanı alanı kullanır. EAV ek yükünü temizler,
Performansa gelince iyi, çünkü sadece bir ürünün ayrıntılarını almak için 5-6 tabloyu birleştirmek yerine tüm ürünü yüklemek için tek bir sorgu gerektirecek.
Sütunlar düz modelde alanlar olarak adlandırılır.
Magento, düzenli olarak standart koleksiyonları sorgulayacak ve düz veritabanı tablolarını aşağıdaki formatta dolduracak indeksleyicileri kullandı. Burada * mağaza kimliğidir.
catalog_category_flat_store_*
catalog_product_flat_*
Bu tablolarda, yalnızca okunması amaçlanan normalleştirilmiş olmayan ürün ve kategori verileri bulunur. Bu, Magento'nun kategori ve ürün verilerini tek bir sorguda almasını sağlar.
Gezinerek düz kataloğu etkinleştirebilirsiniz System > Configuration > Catalog > Frontend > Use Flat Catalog Category | Use Flat Catalog Product
. Bunu evet olarak ayarlayın.
Katalog için EAV tablosuna yeni bir özellik ekliyorsanız. O zaman yeniden indekslemeyi çalıştırmayı unutma (System > Configuration > Index Management)
. Yeniden indeksleme, düz katalog tablolarınızı yeniler.
Daha fazla bilgi için lütfen Magento'da "EAV" ve "Düz Katalog" bölümüne bakın.