यह SQL फ़ंक्शन lower को कॉल नहीं करता है . जैसा कि दस्तावेज़ीकरण कहता है, यह अनिवार्य रूप से . है आंतरिक रूप से कॉल lower ।
कॉल C फ़ंक्शंस के भीतर होते हैं जो citext . को लागू करते हैं तुलना संचालन। और वास्तव में lower calling को कॉल करने के बजाय , वे सीधे अंतर्निहित str_tolower() . पर जाते हैं रूटीन। आप इसे अपने लिए स्रोत कोड<में देख सकते हैं। /ए> , जिनमें से अधिकांश का इस मामले में पालन करना अपेक्षाकृत आसान है।
तो आप जो बचत कर रहे हैं, कमोबेश, प्रति तुलना दो SQL फ़ंक्शन कॉल का ओवरहेड है। जो तुलना की लागत की तुलना में महत्वहीन नहीं है, लेकिन आप शायद किसी सामान्य क्वेरी में अन्य लागतों के बगल में उनमें से किसी को भी नोटिस नहीं करेंगे।