EAV कैटलॉग और फ्लैट कैटलॉग के बीच अंतर निम्नानुसार है:
1. इव कैटलॉग
ईएवी इकाई विशेषता मूल्य डेटाबेस मॉडल है, जहां डेटा पूरी तरह से सामान्यीकृत रूप में है। प्रत्येक स्तंभ डेटा मान को उनके संबंधित डेटा प्रकार तालिका में संग्रहीत किया जाता है। उदाहरण के लिए, एक उत्पाद के लिए,
उत्पाद ID catalog_product_entity_int
तालिका में संग्रहीत है ,
catalog_product_entity_varchar
तालिका में उत्पाद का नाम ,
उत्पाद की कीमत catalog_product_entity_decimal
तालिका में,
उत्पाद catalog_product_entity_datetime
तालिका में दिनांक बनाया गया ,
catalog_product_entity_text
तालिका में उत्पाद विवरण ।
EAV जटिल है क्योंकि यह 5-6 तालिकाओं में मिलती है, भले ही आप केवल एक उत्पाद का विवरण प्राप्त करना चाहते हों।
ईएवी में कॉलम को गुण कहा जाता है।
2. फ्लैट कैटलॉग
फ्लैट मॉडल सिर्फ एक तालिका का उपयोग करता है, इसलिए यह सामान्यीकृत नहीं है और अधिक डेटाबेस स्थान का उपयोग करता है। यह EAV ओवरहेड को साफ़ करता है,
जब प्रदर्शन की बात आती है तो यह अच्छा है, क्योंकि इसमें केवल एक उत्पाद का विवरण प्राप्त करने के लिए 5-6 तालिकाओं में शामिल होने के बजाय पूरे उत्पाद को लोड करने के लिए एक क्वेरी की आवश्यकता होगी।
कॉलम को फ्लैट मॉडल में फ़ील्ड कहा जाता है।
Magento ने इंडेक्सर्स को लागू किया जो समय-समय पर मानक संग्रहों को क्वेरी करेगा और फ्लैट डेटाबेस तालिकाओं को निम्न प्रारूप में पॉप्युलेट करेगा। जहाँ * स्टोर आईडी है।
catalog_category_flat_store_*
catalog_product_flat_*
इन तालिकाओं में गैर-सामान्यीकृत उत्पाद और श्रेणी डेटा होते हैं जिन्हें केवल पढ़ने के लिए लक्षित किया जाता है। यह Magento को एकल क्वेरी में श्रेणी और उत्पाद डेटा लाने की अनुमति देता है।
आप नेविगेट करके फ्लैट कैटलॉग को सक्षम कर सकते हैं System > Configuration > Catalog > Frontend > Use Flat Catalog Category | Use Flat Catalog Product
। इसे हां पर सेट करें।
यदि आप कैटलॉग के लिए ईएवी तालिका में नई विशेषता जोड़ रहे हैं। तो फिर से अनुक्रमण चलाने के लिए मत भूलना (System > Configuration > Index Management)
। पुन: अनुक्रमण आपके फ्लैट कैटलॉग तालिकाओं को ताज़ा करता है।
अधिक जानकारी के लिए कृपया Magento में "EAV" और "फ्लैट कैटलॉग" जांचें