मेरे पास एक उपयोगकर्ता तालिका है जहां उपयोगकर्ता नाम और एप्लिकेशन कॉलम हैं। प्रयोक्ता नाम दोहरा सकते हैं लेकिन प्रयोक्ता नाम + आवेदन के संयोजन अद्वितीय है, लेकिन मैं अद्वितीय बाधा (प्रदर्शन के लिए)एक SELECT क्वेरी में शीर्ष 1 का उपयोग करने का प्रदर्शन प्रभाव
मेज पर सेट नहीं है प्रश्न:
: वहाँ के बीच कोई अंतर (प्रदर्शन के लिहाज से) हो जाएगाSELECT * FROM User where UserName='myuser' AND Application='myapp'
और -
SELECT TOP 1 * FROM User where UserName='myuser' AND Application='myapp'
अद्वितीय है प्रयोक्ता नाम + आवेदन के संयोजन के रूप में, दोनों प्रश्नों हमेशा एक से अधिक रिकॉर्ड वापस आ जाएगी, तो टॉप 1 परिणाम को प्रभावित नहीं करता। मैंने हमेशा सोचा था कि टॉप 1 जोड़ना वाकई चीजों को गति देगा क्योंकि एसक्यूएल सर्वर एक मैच मिलने के बाद देखना बंद कर देगा, लेकिन मैंने हाल ही में एक लेख में पढ़ा है कि टॉप का उपयोग करके वास्तव में चीजों को धीमा कर दिया जाएगा और इससे बचने की सिफारिश की जाती है, हालांकि उनके पास नहीं है क्यों समझाया।
कोई टिप्पणी?
धन्यवाद! एंड्री
संपादन के लिए धन्यवाद, जोएल - किसी कारण से मैं कोड लाइनों के रूप में प्रश्न बनाने में सक्षम नहीं था, मैं उन्हें चुनूंगा और "कोड" आइकन पर क्लिक करूंगा और कुछ भी नहीं होगा। – Andrey
एंड्री, कोड दर्ज करने से पहले आइकन पर क्लिक करें। चाल यह है कि चार रिक्त स्थान से शुरू होने वाली किसी भी पंक्ति को कोड के रूप में व्याख्या किया जाता है। मैं बस एसएसएमएस में अपना कोड चुनता हूं और इसे इंडेंट करता हूं। यह मुझे सही स्वरूपण देता है। (मेरे पास टैब वर्णों के बजाय रिक्त स्थान का उपयोग करने के लिए एसएसएमएस सेट अप है।) –