की जांच करने पर पूर्ण प्रदर्शन नहीं है I इंटरनेट पर पाए गए कुछ लेख ISNULL को COALESCE के साथ तुलना करते हैं, इसलिए मुझे लगता है कि मेरा प्रश्न थोड़ा अलग है।कोलेस बनाम खाली स्ट्रिंग
मुझे आश्चर्य है कि प्रदर्शन प्रदर्शन के संदर्भ में बेहतर है?
SELECT * FROM mytable WHERE mycolumn IS NOT NULL AND mycolumn <> '';
या
SELECT * FROM mytable WHERE COALESCE(mycolumn,'') <> '';
प्रदर्शन के अलावा, किसी भी अन्य चिंताओं मैं तय करते समय इस पर विचार करना चाहिए रहे हैं?
संपादित करें:
मैं टेराडाटा का उपयोग कर रहा हूं।
एक अनुवर्ती प्रश्न के रूप में, यदि हम जानते थे कि एक सूचकांक का उपयोग किया जाएगा, तो हम एसक्यूएल (दृश्यों के पीछे) को स्वचालित रूप से अनुकूलित करने में सक्षम हो सकते हैं और मेरे कॉलम में COALESCE (mycolumn, '') <> '' का अनुवाद नहीं कर सकते हैं I न्यूल और mycolumn <> ''। क्या मैं समझ रहा हूँ? – Russell
मुझे विश्वास है कि आप पाते हैं कि एनयूएसआई का उपयोग असमानता तुलना को पूरा करने के लिए नहीं किया जा सकता है। ऑप्टिमाइज़र एनयूएसआई का उपयोग कर रहा है या नहीं, यह पुष्टि करने के लिए EXPLAIN को देखने लायक होगा। –