Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

धीमी SQL क्वेरी के लिए WHERE ... IN (...) का उपयोग करने का विकल्प

बस फिर से हंसने के लिए, क्या आप इस प्रश्न को आजमा सकते हैं:

  select 
    [sID], 
    ROW_NUMBER() over (partition by [sID] order by [wordPos]) [rn], 
    [wordPos], [FTSindex].[wordID]
  from [FTSindex] 
  join ( 
    values (428), (2112)
  ) w (wordID) on w.wordID = [FTSindex].wordID
  order by [sID], [rn] 

कभी-कभी, समस्या पर अधिक हार्डवेयर फेंकना सही उत्तर होता है; हालांकि मैं मानता हूं कि यह अंतिम उपाय होना चाहिए न कि पहला। क्या इस विशेष समस्या के लिए अधिक CPU, अधिक मेमोरी, या अधिक स्पिंडल की आवश्यकता होती है, यह आपके वर्तमान हार्डवेयर सहित कई कारकों पर निर्भर करता है।

1.6 मिलियन पंक्तियों का आपका परिणाम सेट, प्रत्येक 4 पूर्णांक, किसी भी उचित मात्रा में मौजूदा हार्डवेयर पर जल्दी से सॉर्ट करना चाहिए। चूंकि देरी हो रही है, ऐसा लगता है कि 900 मिलियन पंक्तियों के आधार सेट पर बहुत अधिक प्रसंस्करण हो रहा है, और चुनौती यह पहचानना है कि क्यों। क्या आप क्वेरी योजना के बारे में अधिक विवरण संलग्न कर सकते हैं?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2012 पर SQL Server 2000 बैकअप पुनर्स्थापित करें

  2. सामान्य SQL सर्वर दुर्घटनाएँ

  3. Vb.net और MSSQL के साथ डेटाटाइम मुद्दे

  4. XML डेटाटाइप के साथ SQL Server 2008 R2 में संग्रहीत XML दस्तावेज़ पढ़ें

  5. SQL सर्वर प्रतीक्षा ईवेंट -3