Ben Mekansal indeksi kullanılacaktır ve ben WHERE
deyimini yürütmek çalıştığınızda:Hata
WHERE T.GEOMETRY.STIntersects(O.GEOMETRY) = 1 AND T.GEOMETRY.STTouches(O.GEOMETRY) = 0
Düzgün çalışır, ama ben çalıştığınızda ile yürütmek VEYA:
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.
Herhangi bir yardım, bu açıklamada bir problem nedir:
bu hatayı alıyorum?
Bu nedenle, hata iletisi, bir uzamsal dizin ipucuna işaret eder. Optimizer'ın elini "tbl with (index (idx_spatial))" gibi bir şey yaparak zorlamaya mı çalışıyorsunuz? " –
Evet, "WITH WITH Table (INDEX (spatial_index))" kullanıyorum. Bu hatayı anlamıyorum, neden AND ile çalışıyor, ancak OR ile çalışmıyor. – Nenad
Bilmiyorum, ancak sunucu normalde ne yapacağını atlatma girişimlerinize açıkça kızıyor. Dizin ipucu hendeklemek: Genellikle ne yaptığınızı gerçekten bildiğiniz için ayrılırlar (bir çaylak olduğunuzu söylemezsiniz, ancak herkesin optimize ediciden daha akıllı olduğu nadirdir). –