मैं एक ऐप बना रहा हूं जो 5 अद्वितीय मॉडल (पोस्ट, फोटो, इवेंट्स इत्यादि) पर टिप्पणियों की अनुमति देता है, जिस तरह से 2 या 3 और अधिक होते हैं। जैसा कि यह खड़ा है, प्रत्येक मॉडल में एक संबंधित टिप्पणी मॉडल (पोस्टकॉममेंट्स, फोटोकॉममेंट्स, इवेंट कॉमेंट्स इत्यादि) है, हालांकि टिप्पणियां आम तौर पर सभी मॉडलों में समान होती हैं।कई अलग-अलग मॉडल के लिए टिप्पणियां: पॉलिमॉर्फिक या नहीं? (रेल पर रूबी)
मैंने हाल ही में पॉलीमोर्फिक संघों की शक्ति की खोज की है, जो Railscast #154 में पूरी तरह से समझाया गया है, जो अनिवार्य रूप से एक मॉडल में कई मॉडलों और एक टेबल में कई तालिकाओं को जोड़ देगा।
जबकि पॉलिमॉर्फिक संघ कोड और अनावश्यकता को साफ करेंगे, वे प्रदर्शन को कैसे प्रभावित करते हैं? मुझे डेटाबेस अनुकूलन के बारे में बहुत कुछ पता नहीं है, लेकिन ऐसा लगता है कि एक विशिष्ट टिप्पणी तालिका में 200,000 पंक्तियों की तुलना में एक सामान्य टिप्पणी तालिका में 1,000,000 पंक्तियों से टिप्पणी करने में अधिक समय लगेगा। क्या यह पॉलिमॉर्फिक एसोसिएशन में स्विच करने लायक है (जबकि ऐप अभी भी विकास में अपेक्षाकृत शुरुआती है) या क्या मुझे प्रत्येक प्रकार की टिप्पणी के लिए मॉडल/टेबल बनाना जारी रखना चाहिए?
टिप्पणियां कार्यक्षमता वास्तव में पॉलिमॉर्फिक एसोसिएशन के लिए सबसे अच्छा उदाहरण है। 1000000 पंक्तियां उचित इंडेक्स और प्रश्नों के साथ एक सभ्य MySQL सर्वर के लिए कुछ भी नहीं है। गैर-मौजूदा समस्याओं को हल करने का प्रयास न करें :) – keymone