Spatial Index Nedir
Spatial Index sadece Spatial kolonlar üzerinde oluşturulabilir. Yani kolon’un tipinin geometry veya geography olması gerekir. Aşağıdaki script yardımıyla geography tipinde kolona sahip bir tablo oluşturalım ve içine birkaç örnek kayıt girelim.
CREATE TABLE [dbo].[SpatialIndexOrnekTable]( [ID] [int] IDENTITY(1,1) NOT NULL, [KurumAdi] [varchar](250) NULL, [Konumu] [geography] NULL, CONSTRAINT [PK_SpatialIndexOrnekTable] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] INSERT INTO SpatialIndexOrnekTable VALUES ('Benim Şirketim',geography::STGeomFromText('LINESTRING(-1.1 1.1, -1.1 1.1 )', 4326)); INSERT INTO SpatialIndexOrnekTable VALUES ('Onun Şirketi',geography::STGeomFromText('LINESTRING(-2.3 2.2, -2.2 2.2 )', 4326));
Yukardaki script’ten anlaşılacağı üzere bu örnek tabloda hangi kurumun hangi kordinatta olacağı bilgisini tutacağız.
Aşağıdaki script yardımıyla da geography tipinde olan kolon üzerinde spatial index oluşturabiliriz.
USE [Test] GO SET ANSI_PADDING ON GO CREATE NONCLUSTERED INDEX [IX_SpatialIndexIsmi] ON [dbo].[SpatialIndexOrnekTable] ( [Konumu] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = ON, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
[KurumAdi] üzerinde oluşturmuşsunuz bu geography tipinde değil ki
🙂 Evet dikkatsizliğimiz olmuş. Teşekkürler.