3 Nisan 2014 Perşembe

Clustered Index Seek (Spatial): "Missing Column Statistics" ?!

Spatial veritiplerini ne kadar kullanıyorsunuz bilemiyorum, ama bizim 1-2 projemizde kullanılıyor ve bu nedenle Spatial Index'ler konusunda yüzeyselden öte biraz çalışma yapmam gerekti.

Aşağıdaki görüntüyü bir Execution Plan'da ilk defa gördüğümde şaşırmıştım, adını aşağıda paylaşacağım kitapta bunu gördüğümde o tecrübem aklıma geldi ve sizlerle de paylaşmak istedim.

Clustered Index Seek (Spatial)
Neden şaşırdığımı, Execution Plan'larla haşır neşir olan arkadaşlarım hemen anlayacaktır. Clustered Index Seek operatörü simgesinin üstünde bir de ünlem işareti vardı. Execution Plan'lardaki ünlem işaretleri, Execution Plan incelemelerinde ilk göze çarpan şeylerdendir. Tabii ki benim de hemen dikkatimi çekmişti ve fare ile bu operatörün üstüne gelip biraz beklediğimde (veya F4'e basıp Properties penceresindeki Warning alanında da görebilirsiniz) "Missing Column Statistics" uyarısını gördüm.

Bunu ilk gördüğümde, bunun gayet normal olduğunu bilmiyordum. Şöyle ki, geleneksel B-Tree Index'lerinin aksine, SQL Server, Spatial Index'lerin istatistiklerini Internal tablolarda tutuyor. Fakat maalesef Execution Plan oluşturulması işlemi sırasında bu dikkate alınmıyor ve biz de ilk gördüğümüzde bizi kaygılandıran bu uyarıyı görüp çırpınıyoruz.

Bu ve benzeri güzel bilgileri Pro Spatial with SQL Server isimli kitapta bulabilirsiniz! Özellikle SQL Server'da Spatial veritipleriyle çalışan arkadaşlarıma tavsiye ederim. En azından referans kaynak olarak elinizin altında bulunmasında fayda var.

Ekrem Önsoy


Hiç yorum yok: