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

बहुत धीमी सूची के साथ IN का उपयोग करते हुए SQL क्वेरी

बहुत बार किसी VALUES . से जुड़ते हैं खंड अधिक कुशल है:

SELECT count(*) 
FROM mytable 
  JOIN (
     values ('v1'), ('v2'), (...), ('v2000')
  ) as lookup(value) on lookup.value = mytable.some_column
WHERE NOT other_column = 'something'
AND another_column = 'something_else';

"सूची" के प्रारूप पर ध्यान दें। values . में खंड, प्रत्येक मान को कोष्ठक में संलग्न करने की आवश्यकता है। ('v1'), ('v2'), ... ('v1', 'v2', ...) . के बजाय

ऑनलाइन उदाहरण:http://rextester.com/UUWVG71217

ध्यान दें कि यदि आप जिस कॉलम से मानों की तुलना करते हैं, वह वास्तव में एक संख्या है (जैसे पूर्णांक), तो आपको नहीं होना चाहिए सिंगल कोट्स का उपयोग करके मान निर्दिष्ट करें, उदा। values (1),(2),(3),...(2000)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL इनर जॉइन के साथ डिलीट

  2. माउंटेन लायन पोस्टग्रेज कनेक्ट नहीं हो सका

  3. टेम्पलेट डेटाबेस संग्रह कोडिंग कैसे बदलें

  4. JBoss लॉग पोस्टग्रेज ड्राइवर गैर-JDBC-अनुपालक है

  5. कॉलम डेटाटाइप को सरणी से पूर्णांक में बदलें