मैं स्थानिक सूचकांक का उपयोग करें और जब मैं WHERE
बयान पर अमल करने का प्रयास करें:त्रुटि जब एसक्यूएल सर्वर में स्थानिक सूचकांक का उपयोग कर
WHERE T.GEOMETRY.STIntersects(O.GEOMETRY) = 1 AND T.GEOMETRY.STTouches(O.GEOMETRY) = 0
यह ठीक काम करता है, लेकिन या साथ निष्पादित करने के लिए जब मैं कोशिश:
WHERE T.GEOMETRY.STOverlaps(O.GEOMETRY) = 1 OR T.GEOMETRY.STWithin(O.GEOMETRY) = 1
The query processor could not produce a query plan for a query with a spatial index hint. Reason: Could not find required binary spatial method in a condition. Try removing the index hints or removing SET FORCEPLAN.
किसी भी मदद की, इस बयान में एक समस्या क्या है:
मैं इस त्रुटि मिलती है?
तो, त्रुटि संदेश एक स्थानिक सूचकांक संकेत को इंगित करता है। क्या आप "टीबीएल से (इंडेक्स (idx_spatial))" जैसे कुछ कर कर अनुकूलक के हाथ को मजबूर करने की कोशिश कर रहे हैं? –
हाँ, मैं "तालिका से (INDEX (spatial_index)) का उपयोग कर रहा हूं"। मुझे यह त्रुटि समझ में नहीं आ रही है, यह क्यों काम करता है और नहीं, बल्कि OR के साथ। – Nenad
मुझे नहीं पता, लेकिन सर्वर सामान्य रूप से जो करना होगा उसे रोकने के आपके प्रयासों पर सर्वर नाराज है। सूचकांक संकेत को हटाएं: वे आम तौर पर आरक्षित होते हैं जब आप वास्तव में जानते हैं कि आप क्या कर रहे हैं (यह नहीं कह रहे कि आप एक रूकी हैं, लेकिन यह दुर्लभ है कि कोई भी अनुकूलक से बेहतर है)। –