Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कैस्केड की आवश्यकता नहीं होने पर विदेशी कुंजी

के जवाब -सर्वर">यह quesiton वास्तव में आपके प्रश्न पर भी लागू हो सकता है।

यदि आपके पास तालिकाओं में कॉलम हैं जो अन्य तालिकाओं में पंक्तियों को संदर्भित करते हैं, तो आपको हमेशा विदेशी कुंजियों का उपयोग करना चाहिए, क्योंकि भले ही आपको लगता है कि आपको उन चेकों द्वारा दी जाने वाली सुविधाओं की 'आवश्यकता नहीं है', यह तब भी डेटा अखंडता की गारंटी में मदद करेगा यदि आप अपने कोड में एक चेक भूल गए।

अधिकांश मामलों में विदेशी कुंजी जांच का प्रदर्शन प्रभाव नगण्य है (ऊपर लिंक देखें), क्योंकि रिलेशनल डेटाबेस उन्हें निष्पादित करने के लिए बहुत अनुकूलित एल्गोरिदम का उपयोग करते हैं (आखिरकार, वे एक प्रमुख विशेषता हैं क्योंकि वे वास्तव में संस्थाओं के बीच संबंधों को परिभाषित करते हैं)।

FK का एक और बड़ा फायदा यह है कि वे आपके डेटाबेस के लेआउट को समझने में दूसरों की भी मदद करेंगे।

संपादित करें: चूंकि ऊपर लिंक किया गया प्रश्न SQL-सर्वर की बात कर रहा है, यहाँ MySQL के लिए एक समान प्रकार के उत्तरों के साथ एक है:क्या MySQL में फॉरेन कीज का परिचय प्रदर्शन को कम करता है



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:किसी अन्य तालिका से एक कॉलम में मान डालें

  2. मैंने गलती से MySQL पर रूट लॉक कर दिया है

  3. MySQL समस्या - पूरा सर्वर खत्म हो गया! कृपया सलाह दें

  4. क्या अधिक कुशल है - SQL डेटाबेस या फ़ाइलों में लॉग संग्रहीत करना?

  5. मेरे सी # एप्लिकेशन में *.sql mysql फ़ाइल को कैसे निष्पादित करें?