ความแตกต่างระหว่างแคตตาล็อกEAVและแคตตาล็อกแบบแบนมีดังต่อไปนี้:
1. Eav Catalog
EAV เป็นโมเดลฐานข้อมูลค่าแอ็ตทริบิวต์เอนทิตีที่ข้อมูลอยู่ในรูปแบบปกติ แต่ละค่าข้อมูลคอลัมน์จะถูกเก็บไว้ในตารางชนิดข้อมูลที่เกี่ยวข้อง ตัวอย่างเช่นสำหรับผลิตภัณฑ์
รหัสผลิตภัณฑ์ถูกเก็บไว้ในcatalog_product_entity_int
ตาราง
ชื่อผลิตภัณฑ์ในcatalog_product_entity_varchar
ตาราง
ราคาสินค้าในcatalog_product_entity_decimal
ตาราง
วันที่สร้างผลิตภัณฑ์ในcatalog_product_entity_datetime
ตาราง
คำอธิบายผลิตภัณฑ์ในcatalog_product_entity_text
ตาราง
EAV มีความซับซ้อนเนื่องจากสามารถรวมตารางได้ 5-6 ตารางแม้ว่าคุณจะต้องการรายละเอียดผลิตภัณฑ์เพียงรายการเดียว
คอลัมน์เรียกว่าคุณลักษณะใน EAV
2. แคตตาล็อกแบน
โมเดลแบบแบนใช้เพียงตารางเดียวดังนั้นจึงไม่ได้ทำให้เป็นมาตรฐานและใช้พื้นที่ฐานข้อมูลเพิ่มเติม มันล้างค่าใช้จ่าย EAV
เป็นเรื่องที่ดีเมื่อพูดถึงประสิทธิภาพเนื่องจากมันต้องการเพียงหนึ่งแบบสอบถามในการโหลดผลิตภัณฑ์ทั้งหมดแทนที่จะเข้าร่วม 5-6 ตารางเพื่อรับรายละเอียดของผลิตภัณฑ์เดียว
คอลัมน์เรียกว่าเขตข้อมูลในรูปแบบแบน
Magento ดำเนินการทำดัชนีซึ่งจะทำการสืบค้นคอลเลกชันมาตรฐานเป็นระยะและเติมตารางฐานข้อมูลแบบแบนในรูปแบบต่อไปนี้ ที่ * คือ id ร้านค้า
catalog_category_flat_store_*
catalog_product_flat_*
ตารางเหล่านี้มีข้อมูลผลิตภัณฑ์และหมวดหมู่ที่ไม่ได้ทำให้เป็นมาตรฐานที่ตั้งใจให้อ่านได้เท่านั้น สิ่งนี้ทำให้ Magento สามารถดึงข้อมูลหมวดหมู่และข้อมูลผลิตภัณฑ์ได้ในการสืบค้นเดียว
System > Configuration > Catalog > Frontend > Use Flat Catalog Category | Use Flat Catalog Product
คุณสามารถเปิดใช้แคตตาล็อกแบนโดยไปที่ ตั้งค่านี้เป็นใช่
หากคุณกำลังเพิ่มคุณสมบัติใหม่ในตาราง EAV สำหรับแคตตาล็อก (System > Configuration > Index Management)
แล้วอย่าลืมที่จะทำงานอีกครั้งการจัดทำดัชนี การจัดทำดัชนีใหม่จะรีเฟรชตารางแค็ตตาล็อกแบบแบนของคุณ
สำหรับข้อมูลเพิ่มเติมโปรดตรวจสอบ“ EAV” &“ Flat Catalog” ใน Magento