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)

 

Loading

2 Comments

  1. Erdal Hanedar says:

    [KurumAdi] üzerinde oluşturmuşsunuz bu geography tipinde değil ki

    1. NURULLAH ÇAKIR says:

      🙂 Evet dikkatsizliğimiz olmuş. Teşekkürler.

Leave Your Comment