मेरे पास एक विरासत प्रणाली से एक सारणी है जिसमें प्राथमिक कुंजी नहीं है। यह कारखाने में सामग्री जारी करने के लिए लेनदेन संबंधी डेटा रिकॉर्ड करता है।संभावित कथन का उपयोग न करें SELECT कथन
सादगी के लिए, मान लें कि प्रत्येक पंक्ति में job_number, part_number, मात्रा & date_issued है।
मैंने जारी किए गए कॉलम की तारीख में एक इंडेक्स जोड़ा। जब मैं एक issued_parts से व्याख्या चुनें * कहां date_issued> '20100101', यह इस से पता चलता चलाएँ:
+----+-------------+----------------+------+-------------------+------+---------+------+---------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+----------------+------+-------------------+------+---------+------+---------+-------------+ | 1 | SIMPLE | issued_parts | ALL | date_issued_alloc | NULL | NULL | NULL | 9724620 | Using where | +----+-------------+----------------+------+-------------------+------+---------+------+---------+-------------+
तो यह कुंजी देखता है, लेकिन यह इसका इस्तेमाल नहीं करता है? क्या कोई समझा सकता है क्यों?
कॉलम 'कुंजी' नामकरण इसे एक नहीं बनाता है। हालांकि मैं प्रश्न को पूरी तरह से समझ नहीं रहा हूं, अगर आप उस तरह की कार्यक्षमता चाहते हैं तो 'कुंजी' कॉलम को प्राथमिक कुंजी के रूप में असाइन करें। यदि आपको अधिक जानकारी प्रदान करने की आवश्यकता नहीं है (उदाहरण के लिए वर्तमान स्कीमा)। –