कीमतों के प्रबंधन के लिए Magento के कई टेबल हैं
यह मुझे लगता है कि:
- उत्पाद / श्रेणी के पन्नों में उत्पाद की कीमतें कैटलॉग_प्रोडक्ट_फ्लैट टेबल से भरी हुई हैं ।
- खोज पृष्ठों में _idx तालिका का उपयोग किया जाता है (मुझे मूल्य सीमा फ़िल्टर के लिए लगता है)।
डेटा के साथ तालिका
| तालिका | नोट्स | | --------------------------------------------- | --- --------------------- | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस | डेटा है - मुख्य तालिका | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_आईडीएक्स | डेटा है | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_टैंप | डेटा है |
डेटा के बिना तालिका
| तालिका | नोट्स | | --------------------------------------------- | --- --------------------- | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_बंडले_आईडीएक्स | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडैक्स_प्राइस_बंडले_टॉप_आईडीएक्स | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_बंडले_टॉप_tmp | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_बंडले_सेल_आईडीएक्स | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_बंडले_सेल_tmp | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_बंडले_टैंप | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_सीएफजी_टॉप_ग्रे_डैक्स | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_कफग_पॉट_ग्रे_टैंप | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडैक्स_प्राइस_सीएफजी_टॉप_आईडीएक्स | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_केफग_ॉप्ट_टीएमपी कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_डाउनडोड_आईडीएक्स | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_डाउनडॉट_टैंप | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_फाइनल_आईडीएक्स | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_फाइनल_टैंप | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_टॉप_ग्रे_डैक्स | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_टॉप_आगरा_टैंप | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_टॉप_आईडीएक्स | कोई डेटा नहीं | | कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस_टॉप_tmp | कोई डेटा नहीं |
तो ऐसा लगता है कि डेटा है केवल 3 टेबल:
- catalog_product_index_price
- catalog_product_index_price_idx
- catalog_product_index_price_tmp
केवल वास्तविक उपयोग की गई तालिका कैटलॉग_प्रोडक्ट_इंडैक्स_प्राइस है , परत नेविगेशन कीमत के आधार पर उत्पादों को फ़िल्टर करने के लिए इसका उपयोग करता है। (देखें Mage_Catalog_Model_Resource_Layer_Filter_Price -> _ getPriceExpression () )
टेबल्स: कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस
| Unit_id | customer_group_id | website_id | tax_class_id | कीमत | final_price | min_price | मैक्स_प्राइस | tier_price | group_price |
यह वेबसाइटों / ग्राहक समूह के सभी संयोजनों को होस्ट करता है मेरा क्रमचय गणित वैसे भी बहुत अच्छा नहीं है मान लीजिए आपके पास है:
- 100.000 उत्पादों
- 2 वेबसाइटें (वेबसाइट के लिए एक मूल्य विशेषता गुंजाइश)
- 10 ग्राहक समूह
=> 100.000 * 2 * 10 = 2.000.000 पंक्तियाँ
यदि आप अलग-अलग ग्राहक समूहों के लिए अलग-अलग कीमतों का उपयोग नहीं करते हैं, तो आप DB पर बहुत सारी जगह का इंतजार करते हैं और मूल्य reindex बहुत धीमा होने वाला है। (क्योंकि मूल रूप से प्रत्येक उत्पाद के लिए सभी 20 पंक्तियों में समान मान होंगे)
प्रशन:
- उपरोक्त सभी खाली तालिकाओं को हटाना सुरक्षित है?
- डेटा के साथ 3 टेबल कैटलॉग_प्रोडक्ट_इंडेक्स_प्राइस क्यों हैं लेकिन केवल 1 वास्तव में उपयोग किया जाता है?
अनुकूलन:
- उत्पाद की कीमतें सभी संयोजनों के लिए समान होने की स्थिति में सूचकांक तालिका में पंक्तियों की मात्रा को कम करना संभव होगा?