मैं दो तालिकाओं की है। और उनमें से प्रत्येक में 100 रिकॉर्ड हैं।आंतरिक जुड़ाव का उपयोग न करना बेहतर क्यों है?</p> <pre><code>table1 (id, name, connte) table2 (id, name, connte) </code></pre> <p>वे <strong>table1.connte</strong> और <strong>table2.connte</strong> के माध्यम से जुड़े हुए हैं:
DELETE d1,d2 FROM table1 d1 INNER JOIN table2 d2 ON d1.connte= d2.connte WHERE d1.id = 20
या निम्नलिखित:
select connte from table1 where id = 20
--Store connte in a variable say aabc--
delete from table2 where connte = aabc -> execute this first
delete from table1 where id = 20 -> execute this second
अब अगर मैं आईडी = 20 और table2 में उसके संगत बच्चों के साथ table1 से एक रिकॉर्ड को हटाना चाहते हैं, जो ऐसा करना बेहतर है
यदि रिकॉर्ड के लिए केवल एक ही माता-पिता और एक बच्चा है जिसे मैं हटाना चाहता हूं (यहां table1.id = 20), तो क्या पूरे टेबल के लिए आंतरिक शामिल होना महंगा नहीं है?
मैं इस सवाल को जावा (इसलिए जेडीबीसी) से चला रहा हूं, तो क्या यह उपर्युक्त स्थिति के लिए कई प्रश्नों या आंतरिक जुड़ाव चलाने के लिए अधिक महंगा (प्रदर्शन के अनुसार) है?
नोट: तालिकाओं के लिए कोई संदर्भित अखंडता मानना नहीं। तो, मैं कैस्केड डिलीट का उपयोग नहीं कर रहा हूँ।
हम्म..ओक, लेकिन मेरे पास क्या है, सौ लाख या दस लाख रिकॉर्ड कहें? मेरी निर्दिष्ट स्थिति के लिए कौन सा दृष्टिकोण बेहतर होगा? – Harke
मैं अभी भी डीबीएमएस को इसे संभालने की अनुशंसा करता हूं। यह जानता है कि आप इन अनुकूलन को संभवतः बेहतर तरीके से कैसे कर सकते हैं। – Oleksi
क्या कोई तरीका है कि मैं जान सकता हूं कि आंतरिक कैसे काम करता है? लाखों रिकॉर्ड के साथ दो तालिकाओं में शामिल नहीं होंगे, समय लें? (ऑन क्लॉज के साथ फ़िल्टर करने के बाद भी, एक संभावना है कि इसमें शामिल होने के लिए बहुत सारे रिकॉर्ड हैं) – Harke