अनुकूलन करने के लिए मैं निम्नलिखित फार्म के एक प्रश्न है:एक टाइमस्टैम्प पर एक सूचकांक बनाया जा रहा है क्वेरी
SELECT * FROM MyTable WHERE Timestamp > [SomeTime] AND Timestamp < [SomeOtherTime]
मैं इस क्वेरी अनुकूलन करना चाहते हैं, और मैं टाइमस्टैम्प पर एक सूचकांक लगाने के बारे में सोच रहा हूँ, लेकिन नहीं कर रहा हूँ यकीन है कि यह मदद करेगा। आदर्श रूप में मैं टाइमस्टैम्प को क्लस्टर्ड इंडेक्स बनाना चाहता हूं, लेकिन MySQL प्राथमिक कुंजी को छोड़कर क्लस्टर इंडेक्स का समर्थन नहीं करता है।
MyTable
में 4 मिलियन + पंक्तियां हैं।Timestamp
वास्तव मेंINT
प्रकार का है।- एक बार एक पंक्ति सम्मिलित की गई है, यह कभी नहीं बदला गया है।
- किसी भी
Timestamp
वाली पंक्तियों की संख्या 20 के बारे में औसत पर है, लेकिन हो सकता है के रूप में उच्च के रूप में 200 के - नव डाला पंक्तियों एक
Timestamp
कि मौजूदा पंक्तियों की तुलना में सबसे अधिक है है, लेकिन कुछ की तुलना में कम हो सकता है हाल की पंक्तियों में से।
Timestamp
पर एक सूचकांक मुझे इस प्रश्न को अनुकूलित करने में मदद करेगा?
एमएसएसक्यूएल में भी यदि आप एक गैर अद्वितीय कॉलम पर क्लस्टरड इंडेक्स बनाते हैं तो यह कवर के तहत अद्वितीय बनाता है। निश्चित रूप से एक सूचकांक चयन करने में मदद करेगा लेकिन डालने धीमा कर देगा और सूचकांक डिस्क स्थान ले जाएगा। लेकिन वह व्यापार जैसा लगता है जिसे आप लेने के इच्छुक हैं। सूचकांक को टेबल और परीक्षण पर रखें। इंडेक्स का उपयोग> और <के लिए किया जाता है। – Paparazzi
क्या आपके पास इस तालिका पर क्लस्टर्ड इंडेक्स है? –
@ बलामबालम मैं वास्तव में उपरोक्त प्रकार के प्रश्नों के लिए डेटाबेस तैयार कर रहा हूं इसलिए मैं प्रदर्शन का परीक्षण नहीं कर सकता। – DanielGibbs