“Düz Katalog” neden ve ne zaman kullanılır?


24

Magento web sitesinin hız sorunu için biraz araştırma yaparken, insanların performans ve hızı artırmak için "Flat Catalog" u etkinleştirdiğini söylediği bazı bağlantılar aldım .

Sorun, varsayılan olarak etkin olmamasının nedeni hızdır.

"Flat Catalog" u etkinleştirmenin bazı olumsuz etkileri de olacak mı?

Magento web sitemde 100 ürün ve 500 paket ürün vardı ve aynı anda 36 ürün yüklerken hız oldukça önemli.

"Düz Katalog" etkinleştirmek sorunumu çözecek mi?

Yanıtlar:


35

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_inttabloda saklanır ,

catalog_product_entity_varcharTablodaki ürün adı ,

catalog_product_entity_decimalTablodaki ürün fiyatı ,

catalog_product_entity_datetimetabloda ürün yaratma tarihi ,

catalog_product_entity_texttablodaki ü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.


ok 1: düz olarak eav ve eav'yi istediğiniz zaman flat arasında değiştirebilir miyim? 2: düz de kullanılırken dinamik sütunlar eklenebilir mi?
mdeveloper

Evet, aralarında geçiş yapabilirsiniz. Ayrıca dinamik sütunlar ekleyebilirsiniz. Ancak, EAV
Rohit Kundale

@RohitKundale: Çok sayıda özniteliği eksik olan ürün için Düz Kataloğu Etkinleştirme ve bunun sonucunda ürünler için görüntülenen birçok özelliği alamıyorum. Ben de yeniden indeksledim. Düz katalog hazırlanırken neden tüm özellikler dinamik sütunlar için dizin oluşturmuyor?
Anurag Khandelwal

2
@AnuragKhandelwal Burayı değerlendirin
Rohit Kundale

Magento'yu kullanmaya başladığımda ilk gösterdikleri şey bu olmalıydı.
Domino

5

Magento, müşteri, ürün ve kategori verilerini veritabanında depolamak için Varlık-Değer-Değer (EAV) modelini kullanır. EAV modeli, bu nesneler için tamamen genişletilebilir niteliklere sahip olmanıza izin vermesine rağmen, nesne özellikleri çok büyük bir tablo yerine birden çok tabloda saklanır.

Öznitelikler birçok tabloda depolandığından ve aynı özniteliklerin bazılarının kopyalarını içermesi nedeniyle, SQL sorguları uzun ve karmaşık olabilir. Düz katalog özelliği anında her bir ürün veya kategori hakkında gerekli tüm verileri içeren anında yeni tablolar oluşturur.

Magento'nun önceki sürümlerinde, ürün özelliklerinde veya ürün kategorisi ilişkilerinde her değişiklik yaptığınızda düz kataloğu yeniden kurmak gerekiyordu. Bu sürümde, düz katalog sizin için güncellenmektedir - her dakika veya Magento cron işinize göre.

Yassı katalog seçenekleri sadece yassı katalog ve yassı ürün indeksleyicilerini değil aynı zamanda katalog ve alışveriş sepeti fiyat kuralları için endekslemeyi de mümkün kılar. Çok sayıda SKU'nuz (500.000 veya daha fazla) varsa, Magento, düz katalog ürün seçeneğini etkinleştirirseniz, katalog ve alışveriş sepeti fiyat kurallarını hızlı bir şekilde indeksleyebilir.


Bu sürümde, düz katalog sizin için güncellenmektedir - her dakika veya Magento cron işinize göre. hangi sürümü kastediyorsun
mdeveloper 9:16

Üzgünüm,
amacına ulaşmıyorum

seçeneğinize göre şu anki sürümü 1.9 olarak gördünüz. ya da magento 2
mdeveloper

1
Hangi sürümün size uygun olduğuna bağlı. Magento 2 daha fazla avantaja sahip.
Arunendra,

1
@Arunendra mdeveloper, "Bu sürümde, düz katalog sizin için güncellendi" derken Magento'nun hangi versiyonuna başvurduğunuzu soruyor. Hangi sürümden bahsediyorsun? Magento 1.9 bizim için güncelliyor mu? Sadece Magento 2'de mi? Bu hangi Magento versiyonunda bizim için güncellenmeye başladı?
Olivier

1

Düz kategoriler vardır değil automagicallylar bile Magento 1.9.2'de yükseltti. Toplu (örn. Stok seviyesi) güncellemelerin ardından indeksleri her zaman manuel olarak yeniden oluşturduğum için 1.9.3'ü kontrol etmedim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.