जब आप बाइंड वेरिएबल्स का उपयोग करते हैं, तो एक स्पष्ट अंतर होता है, जिसका उपयोग आपको Oracle में डेटा वेयरहाउसिंग या अन्य बल्क डेटा ऑपरेशंस के अलावा किसी अन्य चीज़ के लिए करना चाहिए।
इसका मामला लें:
SELECT * FROM SOME_TABLE WHERE SOME_FIELD LIKE :b1
Oracle यह नहीं जान सकता है कि निष्पादन समय तक :b1 का मान '%some_value%', या 'some_value' आदि है, इसलिए यह अनुमान के आधार पर परिणाम की कार्डिनैलिटी का अनुमान लगाएगा और एक उपयुक्त योजना के साथ आएगा जो या तो :b के विभिन्न मानों जैसे '%A','%', 'A' आदि के लिए उपयुक्त हो भी सकता है और नहीं भी।
इसी तरह के मुद्दे एक समानता विधेय के साथ लागू हो सकते हैं, लेकिन परिणामी कार्डिनैलिटी की सीमा का अनुमान कॉलम आंकड़ों या एक अद्वितीय बाधा की उपस्थिति के आधार पर अधिक आसानी से लगाया जा सकता है, उदाहरण के लिए।
इसलिए, व्यक्तिगत रूप से मैं LIKE को =के प्रतिस्थापन के रूप में उपयोग करना शुरू नहीं करूंगा। कभी-कभी अनुकूलक को मूर्ख बनाना बहुत आसान होता है।