द्वारा बनाम वहाँ ROW_NUMBER का उपयोग कर और एमएस एसक्यूएल सर्वर में बयान एक ORDER BY साथ पहचान का उपयोग कर के बीच कोई अंतर (परिणाम सेट, प्रदर्शन या अर्थ अर्थ के संदर्भ में) है? उदाहरण के लिए, एक कॉलम "प्रथम" साथ एक मेज दिया वहाँROW_NUMBER पहचान और आदेश
SELECT FirstName, ROW_NUMBER() OVER (ORDER BY FirstName) AS Position
INTO #MyTempTable
FROM MyTable
और
SELECT FirstName, IDENTITY(BIGINT) AS Position
INTO #MyTempTable
FROM MyTable
ORDER BY FirstName
दोनों विकल्पों की निष्पादन योजनाओं पर नज़र डालें। यह आपको प्रदर्शन के लिए एक बहुत अच्छा संकेतक देगा। मुझे संदेह है कि बहुत अंतर आएगा। –
@scsimon उस – JamieD77
@scsimon के बारे में 100% निश्चित नहीं है दूसरी क्वेरी के पास एक ऑर्डर है ताकि आउटपुट वही होगा। और परिभाषा के अनुसार एक तालिका का कोई आदेश नहीं है। –