2008-09-17 9 views
7

पर केस असंवेदनशील खोज मैं बीमार और थक गया हूं साइबेस एएसई पर केस-असंवेदनशील खोज करने के लिए समाधान को गुगल कर रहा है (साइबेस डेटा/कॉलम नाम केस संवेदनशील हैं)। साइबेस दस्तावेज गर्व से कहता है कि ऊपरी और निचले कार्यों का उपयोग करने वाली ऐसी खोज करने का केवल एक ही तरीका है, लेकिन कहा जाता है कि इसमें प्रदर्शन समस्याएं हैं। और मेरा विश्वास करो कि वे सही हैं, अगर आपकी तालिका में विशाल डेटा है तो प्रदर्शन इतना अजीब है कि आप कभी भी ऊपरी और निचले हिस्से का उपयोग नहीं करेंगे। साथी डेवलपर्स से मेरा सवाल यह है कि: आप लोग इस से कैसे निपटते हैं?साइबेस

पीएस सॉर्ट ऑर्डर बदलने या किसी भी अन्य डेटाबेस में जाने की सलाह न दें, असली दुनिया के डेवलपर्स डेटाबेस को नियंत्रित नहीं करते हैं।

उत्तर

1

यदि आप डेटाबेस (सॉर्ट विकल्प) पर सॉर्ट-ऑर्डर नहीं बदल सकते हैं, तो अज्ञात केस फ़ील्ड पर इंडेक्स मदद नहीं करेंगे। ऐसा करने का एक तरीका है और यदि फ़ील्ड की संख्या प्रबंधनीय है तो प्रदर्शन जारी रखें। आप एक अतिरिक्त कॉलम MyFieldLower बनाते हैं। फ़ील्ड को माईफिल्ड के निचले मामले से भरने के लिए आप ट्रिगर का उपयोग करते हैं।

फिर क्वेरी है: कहां MyFieldLower = कम (@MySearch)

यह अनुक्रमण का प्रयोग करेंगे।

3

एक functional index, बनाने की तरह

Create Index INDX_MY_SEARCH on TABLE_NAME(LOWER(@MySearch) 
2

कोशिश अपने चुनिंदा बयान में अतिरिक्त अपर या लोअर केस कॉलम जोड़ें। उदाहरण:

select col1, upper(col1) upp_col1 from table1 order by upp_col1 
संबंधित मुद्दे