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

MySQL में विदेशी कुंजी बाधाओं का उपयोग क्यों करें?

विदेशी कुंजियां लागू करें संदर्भात्मक अखंडता . ये बाधाएं गारंटी देती हैं कि तालिका में एक पंक्ति order_details फ़ील्ड के साथ order_id orders . का संदर्भ देना तालिका में कभी भी order_id नहीं होगा मान जो orders . में मौजूद नहीं है टेबल।

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

प्रदर्शन के संबंध में आपकी चिंताओं के लिए, आम तौर पर एक प्रदर्शन लागत होती है, लेकिन शायद नगण्य होगी। मेरा सुझाव है कि अपनी सभी विदेशी कुंजी बाधाओं को डालें, और उनके बिना केवल प्रयोग करें यदि आपके पास वास्तविक प्रदर्शन समस्याएं हैं जिन्हें आप अन्यथा हल नहीं कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सीक्वेलाइज़:कई टेबल पर या-हालत

  2. Laravel 4 में संयुक्त अद्वितीय फ़ील्ड सत्यापनकर्ता नियम कैसे जोड़ें?

  3. मैं एक MySQL तालिका को UTF-8 में कैसे बदलूं?

  4. PHP के साथ MySQL डेटाबेस में सरणी डालें

  5. PHP - लोड डेटा INFILE का उपयोग करके mysql डेटाबेस में CSV फ़ाइल आयात करें