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_int
tabel,
nama produk dalam catalog_product_entity_varchar
tabel,
harga produk dalam catalog_product_entity_decimal
tabel,
produk yang dibuat tanggal dalam catalog_product_entity_datetime
tabel,
deskripsi produk dalam catalog_product_entity_text
tabel.
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