"फ्लैट कैटलॉग" का उपयोग क्यों और कब करें?


24

मैगेंटो वेबसाइट की स्पीड इश्यू के लिए बिट रिसर्च करने के दौरान मुझे कुछ लिंक मिले जहां लोग कहते हैं कि प्रदर्शन और गति बढ़ाने के लिए "फ्लैट कैटलॉग" को सक्षम करें ।

मुद्दा यह है कि यह डिफ़ॉल्ट रूप से सक्षम क्यों नहीं है गति गति समस्या है।

क्या "फ्लैट कैटलॉग" को कुछ प्रतिकूल प्रभाव पड़ेगा?

मेरी Magento वेबसाइट में 100 उत्पाद और 500 बंडल उत्पाद थे और गति काफी मुद्दा है क्योंकि मैं एक बार में 36 उत्पाद लोड कर रहा हूं।

"फ्लैट कैटलॉग" को सक्षम करने से मेरी समस्या का समाधान हो जाएगा?

जवाबों:


35

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" और "फ्लैट कैटलॉग" जांचें


ठीक 1: क्या मैं फ्लैट और ईव से फ्लैट के बीच बदल सकता हूं? 2: फ्लैट का उपयोग करते समय गतिशील कॉलम भी जोड़ा जा सकता है?
मडूपर

हां, आप उनके बीच स्विच कर सकते हैं। आप डायनामिक कॉलम भी जोड़ सकते हैं। लेकिन यह सुनिश्चित करें कि आप EAV
रोहित कुंडले

@RohitKundale: उत्पाद के लिए फ्लैट कैटलॉग को सक्षम करना कई विशेषताओं को याद कर रहा है और परिणामस्वरूप, मुझे उत्पादों के लिए प्रदर्शित कई सुविधाएँ नहीं मिल रही हैं। मैंने फिर से अनुक्रमित भी किया। फ्लैट कैटलॉग को सक्षम करते समय सभी विशेषताओं को गतिशील स्तंभों के लिए अनुक्रमित क्यों नहीं किया जाता है?
अनुराग खंडेलवाल


यह पहली चीज होनी चाहिए थी जब उन्होंने मुझे दिखाया जब मैंने मैजेंटो का उपयोग करना शुरू किया।
डोमिनोज

5

Magento अपने डेटाबेस में ग्राहक, उत्पाद और श्रेणी डेटा संग्रहीत करने के लिए इकाई-गुण-मूल्य (EAV) मॉडल का उपयोग करता है। यद्यपि EAV मॉडल आपको उन वस्तुओं के लिए पूरी तरह से एक्स्टेंसिबल विशेषताओं के लिए सक्षम बनाता है, ऑब्जेक्ट विशेषताओं को एक बहुत बड़ी तालिका के बजाय कई तालिकाओं में संग्रहीत किया जाता है।

क्योंकि विशेषताओं को कई तालिकाओं में संग्रहीत किया जाता है - और जिसमें कुछ समान विशेषताओं की प्रतियां शामिल होती हैं - SQL प्रश्न लंबे और जटिल हो सकते हैं। फ्लैट कैटलॉग की सुविधा मक्खी पर नए तालिकाओं का निर्माण करती है, जहां प्रत्येक पंक्ति में उत्पाद या श्रेणी के बारे में सभी आवश्यक डेटा होते हैं।

मैगेंटो के पुराने संस्करणों में, हर बार जब आप उत्पाद की विशेषताओं या उत्पाद-श्रेणी के संघों में बदलाव करते हैं, तो फ्लैट कैटलॉग का पुनर्निर्माण करना आवश्यक था। इस रिलीज़ में, फ्लैट कैटलॉग आपके लिए अपडेट किया जाता है - या तो हर मिनट, या आपके Magento के क्रॉन जॉब के अनुसार।

फ्लैट कैटलॉग विकल्प न केवल फ्लैट कैटलॉग और फ्लैट उत्पाद इंडेक्सर्स को सक्षम करते हैं, बल्कि कैटलॉग और शॉपिंग कार्ट मूल्य नियमों के लिए अनुक्रमण को भी सक्षम करते हैं। यदि आपके पास SKU (500,000 या अधिक) की बड़ी संख्या है, तो फ्लैट सूची उत्पाद विकल्प को सक्षम करने पर मैगेंटो कैटलॉग और शॉपिंग कार्ट मूल्य नियमों को जल्दी से अनुक्रमित कर सकता है।


इस रिलीज़ में, फ्लैट कैटलॉग आपके लिए अपडेट किया जाता है - या तो हर मिनट, या आपके Magento के क्रॉन जॉब के अनुसार। किस संस्करण का आप जिक्र कर रहे हैं
mdeveloper

क्षमा करें, मुझे आपकी बात नहीं मिल रही है
अरुणेंद्र

आपके विकल्प में यू ने वर्तमान संस्करण को 1.9 के रूप में संदर्भित किया। या
मैजेंटो

1
यह आप पर निर्भर करता है कि कौन सा संस्करण आपके लिए उपयुक्त है। Magento 2 का अधिक लाभ है।
अरुणेन्द्र

1
@Arunendra mdeveloper पूछ रहा है कि Magento के कौन से संस्करण का जिक्र है जब आप कहते हैं: "इस रिलीज़ में, आपके लिए फ्लैट कैटलॉग अपडेट किया गया है"। आप किस रिलीज़ की बात कर रहे हैं? क्या Magento 1.9 हमारे लिए इसे अपडेट करता है? क्या यह केवल Magento 2 में है? Magento के किस संस्करण में यह हमारे लिए अपडेट होना शुरू हुआ?
ओलिवियर

1

Magento 1.9.2 में भी फ्लैट श्रेणियों को स्वचालित रूप से उन्नत नहीं किया गया है। मैंने 1.9.3 की जांच नहीं की है, क्योंकि मैं हमेशा थोक (जैसे स्टॉक स्तर) अपडेट के बाद इंडेक्स को मैन्युअल रूप से पुन: बनाता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.