Mengapa dan kapan harus menggunakan "Katalog Rata"?

24

Saat melakukan sedikit riset untuk masalah kecepatan situs web magento saya mendapat beberapa tautan di mana orang mengatakan memungkinkan "Katalog Rata" untuk meningkatkan kinerja dan kecepatan.

Masalahnya adalah mengapa itu tidak diaktifkan secara default adalah masalah kecepatan.

Akankah memungkinkan "Katalog Flat" juga memiliki efek yang merugikan?

Situs web magento saya memiliki 100 produk dan 500 produk yang dibundel dan kecepatannya cukup bermasalah karena saya memuat 36 produk sekaligus.

Akankah mengaktifkan "Katalog Rata" mengatasi masalah saya?

mdeveloper
sumber

Jawaban:

35

Perbedaan antara katalog EAV dan katalog Flat adalah sebagai berikut:

1. Katalog Eav

EAV adalah model basis data nilai atribut entitas, di mana data sepenuhnya dalam bentuk normal. Setiap nilai data kolom disimpan dalam tabel tipe data masing-masing. Contoh, untuk suatu produk,

ID produk disimpan dalam catalog_product_entity_inttabel,

nama produk dalam catalog_product_entity_varchartabel,

harga produk dalam catalog_product_entity_decimaltabel,

produk yang dibuat tanggal dalam catalog_product_entity_datetimetabel,

deskripsi produk dalam catalog_product_entity_texttabel.

EAV rumit karena menggabungkan 5-6 tabel bahkan jika Anda ingin mendapatkan hanya satu detail produk.

Kolom disebut atribut dalam EAV.

2. Katalog Rata

Flat model hanya menggunakan satu tabel, sehingga tidak dinormalisasi dan menggunakan lebih banyak ruang basis data. Itu membersihkan overhead EAV,

Ada baiknya ketika datang ke kinerja, karena hanya akan membutuhkan satu permintaan untuk memuat seluruh produk, bukan bergabung dengan 5-6 tabel untuk mendapatkan hanya satu detail produk.

Kolom disebut bidang dalam model datar.

Magento menerapkan pengindeks yang secara berkala akan meminta koleksi standar dan mengisi tabel database datar dalam format berikut. Di mana * adalah id toko.

catalog_category_flat_store_*
catalog_product_flat_*

Tabel ini memiliki data produk dan kategori non-normal yang dimaksudkan untuk dibaca saja. Ini memungkinkan Magento untuk mengambil kategori dan data produk dalam satu permintaan.


Anda dapat mengaktifkan katalog flat dengan menavigasi ke System > Configuration > Catalog > Frontend > Use Flat Catalog Category | Use Flat Catalog Product. Setel ini menjadi ya.

Jika Anda menambahkan atribut baru di tabel EAV untuk katalog. Maka jangan lupa untuk menjalankan pengindeksan ulang (System > Configuration > Index Management). Pengindeksan ulang menyegarkan tabel katalog flat Anda.

Untuk informasi lebih lanjut, silakan periksa "EAV" & "Katalog Rata" di Magento

Rohit Kundale
sumber
ok 1: bisakah saya beralih antara flat ke eav dan eav ke flat kapan saja? 2: dapatkah kolom dinamis ditambahkan saat menggunakan flat juga?
mdeveloper
Ya, Anda dapat beralih di antara mereka. Anda juga dapat menambahkan kolom dinamis. Tapi pastikan Anda menjalankan pengindeksan ulang setelah menambahkan atribut baru ke EAV
Rohit Kundale
@RohitKundale: Mengaktifkan Katalog Flat untuk produk yang kehilangan banyak atribut dan akibatnya, saya tidak mendapatkan banyak fitur yang ditampilkan untuk produk. Saya mengindeks ulang juga. Mengapa semua atribut tidak mengindeks untuk kolom dinamis sambil mengaktifkan katalog datar?
Anurag Khandelwal
2
@AnuragKhandelwal Periksa di sini
Rohit Kundale
Ini seharusnya menjadi hal pertama yang mereka tunjukkan padaku ketika aku mulai menggunakan magento.
Domino
5

Magento menggunakan model Entity-Attribute-Value (EAV) untuk menyimpan data pelanggan, produk, dan kategori dalam database-nya. Meskipun model EAV memungkinkan Anda untuk memiliki atribut yang benar-benar dapat diperluas untuk objek-objek tersebut, atribut objek disimpan dalam beberapa tabel daripada satu tabel yang sangat besar.

Karena atribut disimpan dalam banyak tabel — dan itu termasuk salinan dari beberapa atribut yang sama — query SQL bisa panjang dan kompleks. Fitur katalog datar membuat tabel baru dengan cepat, di mana setiap baris berisi semua data yang diperlukan tentang suatu produk atau kategori.

Dalam versi Magento sebelumnya, perlu untuk membangun kembali katalog flat setiap kali Anda membuat perubahan pada atribut produk atau asosiasi kategori produk. Dalam rilis ini, katalog flat diperbarui untuk Anda — baik setiap menit, atau sesuai dengan tugas cron Magento Anda.

Opsi katalog datar tidak hanya memungkinkan katalog datar dan pengindeksan produk datar, tetapi juga memungkinkan pengindeksan untuk aturan harga katalog dan keranjang belanja. Jika Anda memiliki sejumlah besar SKU (500.000 atau lebih), Magento dapat mengindeks aturan harga katalog dan keranjang belanja dengan cepat jika Anda mengaktifkan opsi produk katalog datar.

Arunendra
sumber
Dalam rilis ini, katalog flat diperbarui untuk Anda — baik setiap menit, atau sesuai dengan tugas cron Magento Anda. versi mana yang Anda maksud
mdeveloper
Maaf saya tidak
mengerti
dalam pilihan Anda apakah Anda merujuk versi saat ini sebagai 1.9. atau
magento
1
Itu tergantung pada Anda versi mana yang cocok untuk Anda. Magento 2 memiliki lebih banyak keunggulan.
Arunendra
1
@Arunendra mdeveloper menanyakan versi Magento mana yang Anda maksud ketika Anda mengatakan: "Dalam rilis ini, katalog flat diperbarui untuk Anda". Rilis mana yang Anda bicarakan? Apakah Magento 1.9 memperbaruinya untuk kita? Apakah hanya di Magento 2? Di versi Magento mana ini mulai diperbarui untuk kita?
Olivier
1

Kategori datar tidak ditingkatkan secara otomatis bahkan di Magento 1.9.2. Saya belum memeriksa 1.9.3, karena saya selalu secara manual membangun kembali indeks setelah pembaruan massal (mis. Tingkat stok).

Steve Holdoway
sumber