मान लें:
- आप पहले से ही एक स्टोरेज इंजन का उपयोग कर रहे हैं जो FK (यानी:InnoDB) का समर्थन करता है
- आपके पास शामिल स्तंभों पर पहले से ही अनुक्रमणिकाएं हैं
तब मुझे लगता है कि MySQL को अखंडता लागू करने से आपको बेहतर प्रदर्शन मिलेगा। संदर्भात्मक अखंडता को लागू करना, आखिरकार, कुछ ऐसा है जिसे करने के लिए डेटाबेस इंजनों को अनुकूलित किया जाता है। रूबी में अखंडता को प्रबंधित करने के लिए अपना खुद का कोड लिखना तुलना में धीमा होने वाला है।
यदि आपको FK कार्यक्षमता प्राप्त करने के लिए MyISAM से InnoDB में जाने की आवश्यकता है, तो आपको दो इंजनों के बीच प्रदर्शन में ट्रेडऑफ़ पर विचार करने की आवश्यकता है।
यदि आपके पास पहले से संकेत नहीं हैं, तो आपको यह तय करने की आवश्यकता है कि क्या आप उन्हें चाहते हैं। सामान्यतया, यदि आप लिखने की तुलना में अधिक पढ़ रहे हैं, तो आप चाहते हैं (आवश्यकता, यहां तक कि) संकेत।
वर्तमान में अनुक्रमित सामग्री के शीर्ष पर एक एफके को ढेर करना आपके आवेदन कोड में उन प्रकार के चेक को लागू करने से कम समग्र प्रदर्शन हिट का कारण बनना चाहिए।