एक सवाल:प्राकृतिक कुंजी बनाम किराए की कुंजी एक InnoDB विदेशी कुंजी
2 टेबल है:
Product
id INT
name VARCHAR(64)
something TEXT
else INT
entirely BOOL
और
Ingredient
id INT
name VARCHAR(64)
description TEXT
अब मैं भी एक लिंक तालिका
Products_Ingredients
product_id INT
ingredient_id INT
है
मेरे कई लोगों के लिए कई संबंधों के लिए ।
अब दोनों उत्पादों और सामग्रियों के अद्वितीय नाम होंगे। तो मैं प्राकृतिक कुंजी के रूप में नामों का उपयोग कर सकता हूं ... हालांकि यह एक अच्छा विचार होगा?
मैं एक उत्पाद है कहते हैं: Paint Thinner Supreme
घटक के साथ: Butylonitrotetrocycline
कि एक अच्छा विचार लिंक तालिका में समग्र कुंजी के रूप में उन नामों का उपयोग करने होंगे?
जितना मुझे किराए की कोख से अधिक प्राकृतिक कुंजियों का उपयोग करने के पीछे विचार को समझने के रूप में, मैं थोड़े यह सोच कर कि सरल पूर्णांकों का उपयोग कर प्राथमिक कुंजी (और विदेशी वाले) बहुत तेजी से हो जाएगा के रूप में नहीं रोक सकता। क्या एक ऐसे तरीके में कोई अंतर आएगा जिसमें MySQL सर्वर उन अलग-अलग कुंजियों को पचता है?
आपकी राय क्या है?
अच्छा स्पष्टीकरण, धन्यवाद। – RandomWhiteTrash