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

'स्ट्रिंग' बनाम ='स्ट्रिंग' का उपयोग करने के लिए ओरेकल में कोई प्रदर्शन प्रभाव?

जब आप बाइंड वेरिएबल्स का उपयोग करते हैं, तो एक स्पष्ट अंतर होता है, जिसका उपयोग आपको Oracle में डेटा वेयरहाउसिंग या अन्य बल्क डेटा ऑपरेशंस के अलावा किसी अन्य चीज़ के लिए करना चाहिए।

इसका मामला लें:

SELECT * FROM SOME_TABLE WHERE SOME_FIELD LIKE :b1

Oracle यह नहीं जान सकता है कि निष्पादन समय तक :b1 का मान '%some_value%', या 'some_value' आदि है, इसलिए यह अनुमान के आधार पर परिणाम की कार्डिनैलिटी का अनुमान लगाएगा और एक उपयुक्त योजना के साथ आएगा जो या तो :b के विभिन्न मानों जैसे '%A','%', 'A' आदि के लिए उपयुक्त हो भी सकता है और नहीं भी।

इसी तरह के मुद्दे एक समानता विधेय के साथ लागू हो सकते हैं, लेकिन परिणामी कार्डिनैलिटी की सीमा का अनुमान कॉलम आंकड़ों या एक अद्वितीय बाधा की उपस्थिति के आधार पर अधिक आसानी से लगाया जा सकता है, उदाहरण के लिए।

इसलिए, व्यक्तिगत रूप से मैं LIKE को =के प्रतिस्थापन के रूप में उपयोग करना शुरू नहीं करूंगा। कभी-कभी अनुकूलक को मूर्ख बनाना बहुत आसान होता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में एक नई लाइन को कैसे बदलें

  2. Oracle पर AUTO_INCREMENT के साथ आईडी कैसे बनाएं?

  3. क्या आप Oracle के साथ Microsoft Entity Framework का उपयोग कर सकते हैं?

  4. यदि पहला कॉलम मान समान है तो दूसरे कॉलम मान को कॉनकैट करें

  5. ऑरैकल क्वेरी में इनपुट के रूप में स्ट्रिंग मान 1,2 पास करने में असमर्थ