KAYMA Index (Transact-sql) oluştur

Belirtilen tablo ve sütun üzerinde kayma bir dizin oluşturur. Tabloda veri önce dizin oluşturulabilir. Dizinler, nitelikli veritabanı adı belirterek tablo veya başka bir veritabanı görünümleri oluşturulabilir.

[!NOT]

Kayma dizinler hakkında daha fazla bilgi için bkz: Kayma dizinler genel bakış.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

Create Spatial Index 
CREATE SPATIAL INDEX index_name 
  ON <object> ( spatial_column_name )
    {
       <geometry_tessellation> | <geography_tessellation>
    } 
  [ ON { filegroup_name | "default" } ]
; 

<object> ::=
    [ database_name. [ schema_name ] . | schema_name. ] 
        table_name

<geometry_tessellation> ::=
{ 
  <geometry_automatic_grid_tessellation> | <geometry_manual_grid_tessellation> 
}

<geometry_automatic_grid_tessellation> ::=
{
    [ USING GEOMETRY_AUTO_GRID ]
          WITH  (
        <bounding_box>
            [ [,] <tessellation_cells_per_object> [ ,…n] ]
            [ [,] <spatial_index_option> [ ,…n] ]
    )
}



<geometry_manual_grid_tessellation> ::=
{
       [ USING GEOMETRY_GRID ]
         WITH (
                    <bounding_box>
                        [ [,]<tessellation_grid> [ ,…n] ]
                        [ [,]<tessellation_cells_per_object> [ ,…n] ]
                        [ [,]<spatial_index_option> [ ,…n] ]
   )
} 

<geography_tessellation> ::=
{
      <geography_automatic_grid_tessellation> | <geography_manual_grid_tessellation>
}

<geography_automatic_grid_tessellation> ::=
{
    [ USING GEOGRAPHY_AUTO_GRID ]
    [ WITH (
        [ [,] <tessellation_cells_per_object> [ ,…n] ]
        [ [,] <spatial_index_option> ]
     ) ]
}

<geography_manual_grid_tessellation> ::=
{
    [ USING GEOGRAPHY_GRID ]
    [ WITH (
                [ <tessellation_grid> [ ,…n] ]
                [ [,] <tessellation_cells_per_object> [ ,…n] ]
                [ [,] <spatial_index_option> [ ,…n] ]
                ) ]
}


<bounding_box> ::=
{
      BOUNDING_BOX = ( {
       xmin, ymin, xmax, ymax 
       | <named_bb_coordinate>, <named_bb_coordinate>, <named_bb_coordinate>, <named_bb_coordinate> 
  } )
}

<named_bb_coordinate> ::= { XMIN = xmin | YMIN = ymin | XMAX = xmax | YMAX=ymax }

<tesselation_grid> ::=
{ 
    GRIDS = ( { <grid_level> [ ,...n ] | <grid_size>, <grid_size>, <grid_size>, <grid_size>  } 
        )
}
<tesseallation_cells_per_object> ::=
{ 
   CELLS_PER_OBJECT = n 
}

<grid_level> ::=
{
     LEVEL_1 = <grid_size> 
  |  LEVEL_2 = <grid_size> 
  |  LEVEL_3 = <grid_size> 
  |  LEVEL_4 = <grid_size> 
}

<grid_size> ::= { LOW | MEDIUM | HIGH }

<spatial_index_option> ::=
{
    PAD_INDEX = { ON | OFF }
  | FILLFACTOR = fillfactor
  | SORT_IN_TEMPDB = { ON | OFF }
  | IGNORE_DUP_KEY = OFF
  | STATISTICS_NORECOMPUTE = { ON | OFF }
  | DROP_EXISTING = { ON | OFF }
  | ONLINE = OFF
  | ALLOW_ROW_LOCKS = { ON | OFF }
  | ALLOW_PAGE_LOCKS = { ON | OFF }
  | MAXDOP = max_degree_of_parallelism
    | DATA_COMPRESSION = { NONE | ROW | PAGE }
}

Bağımsız değişkenler

  • index_name
    Dizinin adıdır. Dizin adları tablo içinde benzersiz olmalıdır ancak bir veritabanı içinde benzersiz olması gerekmez. Dizin adları kuralları izleyin gerekir tanımlayıcıları.

  • ON <object> ( spatial_column_name )
    Dizin oluşturulacak olan nesne (veritabanı, şema veya tablo) ve kayma sütun adını belirtir.

    spatial_column_nameDizin dayandığı kayma sütun belirtir. Tek bir kayma sütun tek kayma dizini tanımında belirtilen; Ancak, birden fazla kayma dizinler üzerinde oluşturulan bir geometryya geographysütun.

  • KULLANMA
    Kayma dizin için tessellation düzeni gösterir. Bu parametre aşağıdaki tabloda gösterilen türe özgü değeri kullanır:

    Sütunun veri türü

    Tessellation düzeni

    geometry

    GEOMETRY_GRID

    geometry

    GEOMETRY_AUTO_GRID

    geography

    GEOGRAPY_GRID

    geography

    GEOGRAPHY_AUTO_GRID

    Kayma dizin türü yalnızca bir sütun oluşturulabilir geometryya geography. Aksi durumda, bir hata oluşturulur. Ayrıca, belirli bir türü için geçersiz bir parametre TRUE aktarılırsa, bir hata oluşturulur.

    [!NOT]

    Hakkında bilgi SQL ServerImplements mozaik görmek, Kayma dizinler genel bakış.

  • ONfilegroup_name
    Belirtilen dizin belirtilen filegroup oluşturur. Tablo bölümlenmiş değil ve hiçbir yerde belirtilen dizin aynı filegroup tablo kullanır. Filegroup önceden mevcut olmalıdır.

  • on "varsayılan''
    Belirtilen dizin varsayılan filegroup oluşturur.

    Bu kapsamda, terim varsayılan bir anahtar kelime değildir. Bu varsayılan filegroup tanımlayıcısı ve, içinde olarak ayrılmış gerekir "varsayılan" ya da on varsayılan[]. Eğer "varsayılan" belirtilmişse, quoted_ıdentıfıer seçeneği geçerli oturum için on olmalıdır. Bu, varsayılan ayardır. Daha fazla bilgi için, bkz. set QUOTED_IDENTIFIER (Transact-sql).

<nesne>:: =

Dizin oluşturulacak tam veya tam olmayan nesnesidir.

  • database_name
    Veritabanının adıdır.

  • schema_name
    Tablonun ait olduğu şemanın adıdır.

  • table_name
    İndekslenecek tablonun adıdır.

Seçeneklerini kullanma

  • GEOMETRY_GRID
    Belirtir geometrykullandığınız kılavuz tessellation düzeni. GEOMETRY_GRID yalnızca bir sütun üzerinde belirtilen geometryveri türü. Tessellation düzenini el ile ayarlamak için küçük tanır.

  • GEOMETRY_AUTO_GRID
    Geometrisi veri türü yalnızca bir sütun belirtilebilir. Bu veri türü için varsayılan ve belirtilmesi gerekmez.

  • GEOGRAPHY_GRID
    Coğrafi konum kılavuz tessellation düzenini belirtir. GEOGRAPHY_GRID yalnızca bir sütun üzerinde belirtilen geographyveri türü.

  • GEOGRAPHY_AUTO_GRID
    Coğrafi konum veri türü yalnızca bir sütun belirtilebilir. Bu veri türü için varsayılan ve belirtilmesi gerekmez.

WITH seçenekleri

  • BOUNDING_BOX
    Bir sayısal dört-sınırlayıcı kutusunun dört koordinatları tanımlayan başlığın belirtir: sol alt köşesinde x-min ve y-min koordinatları ve sağ üst köşesindeki x-max ve y-maks koordinatları.

    • xmin
      Sınırlayıcı kutusunun sol alt köşesinde x-koordinatı belirtir.

    • ymin
      Sınırlayıcı kutusunun sol alt köşesinde y-koordinatı belirtir.

    • xmax
      Sınırlayıcı kutusunun sağ üst köşesindeki x-koordinatı belirtir.

    • ymax
      Sınırlayıcı kutusunun sağ üst köşesinde y-koordinatı belirtir.

    • XMIN = xmin
      Özellik adı ve sınırlayıcı kutusunun sol alt köşesinde x-koordinatı değeri belirtir.

    • YMIN =ymin
      Özellik adı ve sınırlayıcı kutusunun sol alt köşesinde y-koordinatı değeri belirtir.

    • XMAX =xmax
      Özellik adı ve sınırlayıcı kutusunun sağ üst köşesindeki x-koordinatı değeri belirtir.

    • YMAX =ymax
      Özellik adı ve sınırlayıcı kutusunun sağ üst köşesinde y-koordinatı değeri belirtir

    Bounding kutusunu koordinatları yalnızca kullanarak GEOMETRY_GRID tümcesi içinde geçerlidir.

    xmax büyük olmalıdır xminve ymaxbüyük olmalıdır ymin. Belirttiğiniz herhangi bir geçerli kayan nokta değer gösterimi, bu varsayarak: xmax > xminve ymax > ymin. Aksi takdirde ilgili hatalar oldu.

    Varsayılan değerler vardır.

    Sınırlayıcı kutunun özellik adları, veritabanı harmanlama bakılmaksızın duyarsızdır.

    Özellik adlarını belirtmek için yalnızca bir kez ve bir kez her biri belirtmelisiniz. Onları herhangi bir sırada belirleyebileceğiniz. Örneğin, aşağıdaki yan tümceleri eşdeğerdir:

    • BOUNDING_BOX = ( XMIN = xmin, YMIN = ymin, XMAX = xmax, YMAX = ymax )

    • BOUNDING_BOX = ( XMIN = xmin, XMAX = xmax, YMIN = ymin, YMAX = ymax )

  • IZGARALAR
    Kılavuz tessellation düzeni her düzeyde yoğunluğu tanımlar. GEOMETRY_AUTO_GRID ve GEOGRAPHY_AUTO_GRID seçildiğinde, bu seçenek devre dışı bırakılır.

    [!NOT]

    Tessellation hakkında daha fazla bilgi için bkz: Kayma dizinler genel bakış.

    KILAVUZLAR parametreleri aşağıdaki gibidir:

    • LEVEL_1
      (Üst) birinci düzey kılavuz belirtir.

    • LEVEL_2
      İkinci düzey kılavuz belirtir.

    • LEVEL_3
      Üçüncü düzey kılavuz belirtir.

    • LEVEL_4
      Dördüncü düzey kılavuz belirtir.

    • DÜŞÜK
      Belirli bir düzeyde kılavuz için en düşük olası yoğunluğu belirtir. DÜŞÜK 16 hücrelere (4 x 4 Kılavuzu) eşittir.

    • ORTA
      Belirli bir düzeyde ızgarasının Orta Yoğunluk belirtir. Orta 64 hücrelere (8 x 8 kılavuz) eşittir.

    • YÜKSEK
      Belirli bir düzeyde kılavuz için olası en yüksek yoğunluğa belirtir. Yüksek 256 hücrelere (16 x 16 Kılavuzu) eşittir.

    Düzey adları kullanarak, herhangi bir sırada düzeylerini belirtmek ve düzeyleri atlamak için sağlar. Herhangi bir düzey adını kullanırsanız, belirttiğiniz diğer bir düzeyi adını kullanmanız gerekir. Bir düzey atlarsanız, onun yoğunluğu orta öntanımlıdır.

    Geçersiz bir yoğunluk belirtilirse, bir hata oluşturulur.

  • cells_per_object =n
    Mozaik hücre başına tek bir kayma dizin nesnesinde tessellation işlem tarafından kullanılabilir nesne sayısını belirtir. n1-8192, herşey dahil arasında herhangi bir tamsayı olabilir. Geçersiz bir sayı geçirilir veya hücreler için belirtilen mozaik maksimum sayısından daha büyük bir sayıdır, bir hata oluşturulur.

    cells_per_object, aşağıdaki varsayılan değerler vardır:

    Seçeneğini kullanma

    Varsayılan nesne başına hücreleri

    GEOMETRY_GRID

    16

    GEOMETRY_AUTO_GRID

    8

    GEOGRAPHY_GRID

    16

    GEOGRAPHY_AUTO_GRID

    12

    En üst düzeyde bir nesne tarafından belirtilenden daha fazla hücreyi kapsıyorsa, n, dizin oluşturma gibi birçok hücre gerektiğinde tam bir üst düzey mozaik sağlamak için kullanır. Böyle durumlarda, bir nesneyi belirtilen sayıdan fazla hücre alabilirsiniz. Bu durumda, maksimum yoğunluğunu bağlıdır üst düzey kılavuz tarafından üretilen hücrelerin sayısıdır.

    cells_per_object değeri, nesne başına hücreleri mozaik kural tarafından kullanılır. Tessellation kuralları hakkında daha fazla bilgi için bkz: Kayma dizinler genel bakış.

  • PAD_INDEX = {on | OFF }
    Dizin dolgusunu belirtir. Varsayılan değer OFF'tur.

    • ON
      Gösteren ücretsiz yüzdesi alanı ile belirtilen fillfactordizin Orta düzey sayfalar için uygulanır.

    • KAPALI veya fillfactorbelirtilmemiş
      Orta düzey sayfalar kapasite near doldurulur, en büyük boyutu en az bir satır için yeterli boşluk bırakarak dizini olabilir, ara sayfalarında anahtarları kümesi düşündüğünü gösterir.

    Sadece FILLFACTOR belirtilen PAD_INDEX FILLFACTOR tarafından belirtilen yüzde kullandığından PAD_INDEX seçeneği yararlıdır. FILLFACTOR için belirtilen yüzde bir satır için izin verecek kadar büyük değilse, Veritabanı Altyapısıdahili olarak minimum izin yüzde geçersiz kılar. Bir ara dizin sayfasındaki satır sayısı hiç az iki, ne olursa olsun değerinin ne kadar düşük olduğunu fillfactor.

  • FILLFACTOR =fillfactor
    Nasıl tam gösteren bir yüzdesini belirtir Veritabanı Altyapısıdizin oluşturma sırasında her dizin sayfasının yaprak düzeyini yapmak veya yeniden. fillfactorbir tamsayı değeri 1 ile 100 olmalıdır. Varsayılan değer 0'dır. Eğer fillfactor100 ya da 0, Veritabanı AltyapısıKapasite dolu yaprak sayfaları dizinleri oluşturur.

    [!NOT]

    Doldurma faktörü değerleri 0 ve 100 her açıdan aynıdır.

    FILLFACTOR ayar, yalnızca dizin oluşturulduğunda veya yeniden uygulanır. Veritabanı AltyapısıDeğil dinamik tutmak boş sayfalarda belirtilen yüzdesi. Dolgu etmeni ayarını görüntülemek için sys.indexes Katalog görünümü.

    Önemli notÖnemli

    Kümelenmiş dizin oluşturma bir FILLFACTOR ile 100'den küçük verileri kapladığı için depolama alanı miktarını etkiler Veritabanı AltyapısıKümelenmiş dizin oluşturduğunda, verileri yeniden dağıtır.

    Daha fazla bilgi için, bkz. Bir dizin için dolgu etmeni belirleme.

  • SORT_IN_TEMPDB = {on | OFF }
    Geçici sıralama sonuçları depolamak belirtir tempdb. Varsayılan değer OFF'tur.

    • ON
      Dizin oluşturmak için kullanılan ara sıralama sonuçları depolanır tempdb. Bu, dizin oluşturmak için gereken süreyi azaltmak tempdbkullanıcı veritabanı disklerden farklı bir dizi açık. Ancak, dizinin oluşturulması sırasında kullanılan disk alanı miktarını da artırır.

    • OFF
      Ara sıralama sonuçları, dizin ile aynı veritabanında depolanır.

    Kullanıcı veritabanında bir dizin oluşturmak için gereken alan ek olarak tempdbAra sıralama sonuçları tutmak için ek alan hakkında aynı miktarda olması gerekir. Daha fazla bilgi için, bkz. SORT_IN_TEMPDB seçeneği için dizinler.

  • IGNORE_DUP_KEY =kapatma
    Dizin türü asla benzersiz olduğu kayma dizinler için hiçbir etkisi olmaz. Bu seçenek on olarak ayarlamayın veya başka bir hata oluşturulur.

  • STATISTICS_NORECOMPUTE = {on | OFF}
    Dağılım istatistiklerinin hesaplanıp hesaplanmayacağını belirtir. Varsayılan değer OFF'tur.

    • ON
      Güncelliğini yitirmiş istatistikler otomatik olarak yeniden hesaplanmaz.

    • OFF
      İstatistiklerin otomatik güncelleştirilmesi etkinleştirilir.

    Otomatik istatistik güncelleştirmeyi geri yüklemek için, STATISTICS_NORECOMPUTE ayarını OFF yapın veya UPDATE STATISTICS deyimini NORECOMPUTE yan tümcesi olmadan yürütün.

    Önemli notÖnemli

    Dağıtım istatistik otomatik recomputation devre dışı bırakılması en iyi yürütme planları tablo ilgili sorguları için malzeme çekme sorgu en iyi duruma getiricisi engelleyebilir.

  • DROP_EXISTING = {on | OFF }
    Adlı, kayma dizin preexisting bırakılan yeniden olduğunu belirtir. Varsayılan değer OFF'tur.

    • ON
      Varolan dizin bırakılan ve yeniden. Belirtilen dizin adı şu anda varolan bir dizini ile aynı olmalıdır; Ancak, Dizin tanımı değiştirilebilir. Örneğin, farklı sütunlar, sıralama düzeni, bölüm düzenini veya dizin seçeneklerini belirtebilirsiniz.

    • OFF
      Belirtilen dizin adı zaten varsa bir hata görüntülenir.

    DROP_EXISTING kullanarak dizin türü değiştirilemez.

  • ONLINE =OFF
    Temel alınan tablo ve ilişkili dizinler sorguları ve veri değişikliği dizin işlemi sırasında kullanılamaz olduğunu belirtir. Bu sürümünde SQL Server, çevrimiçi dizin yapıları için kayma dizinler desteklenmez. Bu seçenek kayma dizin için on olarak ayarlanmışsa, bir hata oluşturulur. ONLINE seçeneğini atlayın ya da ONLINE için off ayarlayın.

    Bir çevrimdışı dizin işlemi oluşturan, yeniden oluşturur veya kayma dizin, damla tablo şema değişikliği (Sch-m) kilit satın aldı. Bu, işlem süresi boyunca alttaki tabloya tüm kullanıcı erişimini engeller.

    [!NOT]

    Çevrimiçi dizin işlemleri her sürümünde kullanılamaz Microsoft SQL Server. Sürümü tarafından desteklenen özellikleri listesi için SQL Serverbakın SQL Server 2012 Sürümleri Tarafından Desteklenen Özellikler.

  • ALLOW_ROW_LOCKS = { ON | KAPALI}
    Satır kilidi kullanılıp kullanılamadığını belirtir. ON varsayılan değerdir.

    • ON
      Dizine erişilirken satır kilitleri kullanılabilir. Satır kilitlerinin ne zaman kullanıldığını Veritabanı Altyapısı belirler.

    • OFF
      Satır kilitleri kullanılmaz.

  • ALLOW_PAGE_LOCKS = { ON | OFF }
    Sayfa kilidi kullanılıp kullanılamadığını belirtir. ON varsayılan değerdir.

    • ON
      Sayfa kilitlemeleri dizin erişirken izin verilir. Veritabanı AltyapısıNe zaman sayfa kilitleri kullanılır belirler.

    • OFF
      Sayfa kilitleri kullanılmaz.

  • maxdop =max_degree_of_parallelism
    Geçersiz kılan max degree of parallelismdizini işlem süresi için yapılandırma seçeneği. Paralel plan yürütmede kullanılan işlemci sayısını sınırlamak için MAXDOP kullanın. En fazla değer 64 işlemcidir.

    Önemli notÖnemli

    maxdop seçenek sözdizimsel desteklenir, ancak create KAYMA INDEX şu anda her zaman yalnızca tek işlemci kullanır.

    max_degree_of_parallelismaşağıdakilerden biri olabilir:

    • 1
      Paralel plan üretimini baskılar.

    • >1
      Paralel dizin işlemi için belirtilen veya geçerli sistem yüküne göre daha az kullanılan işlemci sayısını sınırlar.

    • 0 (varsayılan)
      Geçerli sistem iş yüküne bağlı olarak gerçek işlemci sayısını veya daha azını kullanır.

    Daha fazla bilgi için, bkz. Parallel ındex işlemi yapılandırma.

    [!NOT]

    Paralel dizin işlemleri her Microsoft SQL Server sürümünde bulunmaz. Sürümü tarafından desteklenen özellikleri listesi için SQL Serverbakın SQL Server 2012 Sürümleri Tarafından Desteklenen Özellikler.

  • DATA_COMPRESSION = {HİÇBİRİ | SATIR | PAGE}
    Dizin tarafından kullanılan veri sıkıştırma düzeyini belirler.

    • NONE
      Verileri dizin tarafından kullanılan sıkıştırma yok

    • ROW
      Satır sıkıştırma dizin tarafından kullanılan veri üzerinde

    • PAGE
      Verileri dizin tarafından kullanılan sayfa sıkıştırma

Açıklamalar

SQL Server'da kayma dizin oluşturma giriş için bkz: Kayma dizinler genel bakış.

Her seçenek create KAYMA INDEX deyimi yalnızca bir kez belirtilebilir. Yinelenen herhangi bir seçeneğin belirten bir hata yükseltir.

Bir tablodaki her kayma sütun kadar 249 kayma dizinler oluşturabilirsiniz. Belirli kayma sütun birden fazla kayma dizin oluşturma, tek bir sütunda dizin farklı mozaik parametreleri için yararlı olabilir.

Önemli notÖnemli

Kayma dizin oluşturma diğer kısıtlamalar vardır. Daha fazla bilgi için, bkz. Kayma dizinler genel bakış.

Bir dizin oluşturma yapamazsınız kullanılabilir işlem parallelism kullanın.

Kayma dizinler üzerinde desteklenen yöntemler

Belirli koşullar altında geometri kümesi odaklı yöntemleri kayma dizinler destekler. Daha fazla bilgi için, bkz. Kayma dizinler genel bakış.

Kayma dizinler ve bölümleme

Bölümlenmiş bir tablo üzerinde kayma dizin oluşturulduğunda varsayılan olarak tablo bölüm düzeni göre dizin bölümlendirilir. Bu dizin veri ve ilişkili satır aynı bölümünde depolanır sağlar.

Bu durumda, temel tablo bölüm düzeni değiştirmek için önce temel tablo yeniden bölümlendirebilirsiniz kayma dizin bırakmak gerekir. Kayma dizin oluştururken bu kısıtlamayı önlemek için "on FILEGROUP" belirtebilirsiniz. seçeneği. Daha fazla bilgi için bkz: "Kayma dizinler ve Filegroups" Bu konudaki.

Kayma dizinler ve Filegroups

Varsayılan olarak, üzerinde dizin belirtilen tablo olarak aynı filegroups kayma dizinler bölümlenmiş. Bu filegroup belirtimi kullanarak kılınabilir:

[ON {}filegroup_name | "varsayılan" }]

Kayma dizin için bir filegroup belirtirseniz, dizin tablonun bölümleme şemasını bakılmaksızın bu filegroup yerleştirilir.

Kayma dizinler için görünümler katalog

Aşağıdaki katalog görünümler kayma dizinler özeldir:

  • sys.spatial_indexes
    Kayma dizinler ana dizin bilgisini gösterir.

  • level_3_grid
    Tessellation düzeni ve parametreler her kayma dizinler hakkında bilgi gösterir.

Dizinler oluşturma hakkında ek açıklamalar

Dizinler oluşturma hakkında daha fazla bilgi için "Uyarılar" konusuna bakın. bölüm içinde Index (Transact-sql) oluştur.

İzinler

Kullanıcı tablo veya Görünüm alter izni olması gerekir veya üyesi olmanız sysadminsabit sunucu rolü veya db_ddladminve db_ownerveritabanı rolleri sabit.

Örnekler

A.C.kayma dizin geometrisi sütun oluşturma

Aşağıdaki örnek, adlı bir tablo oluşturur SpatialTableiçeren bir geometrytürü sütununda, geometry_col. Örnek sonra kayma bir dizin oluşturur SIndx_SpatialTable_geometry_col1, geometry_col. Örneğin varsayılan tessellation düzeni kullanır ve sınırlayıcı kutusunu belirtir.

CREATE TABLE SpatialTable(id int primary key, geometry_col geometry);
CREATE SPATIAL INDEX SIndx_SpatialTable_geometry_col1 
   ON SpatialTable(geometry_col)
   WITH ( BOUNDING_BOX = ( 0, 0, 500, 200 ) );

CREATE TABLE SpatialTable(id int primary key, geometry_col geometry);
CREATE SPATIAL INDEX SIndx_SpatialTable_geometry_col1 
   ON SpatialTable(geometry_col)
   WITH ( BOUNDING_BOX = ( 0, 0, 500, 200 ) );

B.C.kayma dizin geometrisi sütun oluşturma

Aşağıdaki örnek, ikinci bir kayma dizin oluşturur SIndx_SpatialTable_geometry_col2, geometry_colde SpatialTabletablosu. Örnek GEOMETRY_GRIDolarak tessellation düzeni. Örnek, sınırlayıcı kutu, farklı ızgara düzeyde farklı yoğunlukları ve 64 nesne başına hücreleri de belirtir. Örnek dizin doldurma için de ayarlar ON.

CREATE SPATIAL INDEX SIndx_SpatialTable_geometry_col2
   ON SpatialTable(geometry_col)
   USING GEOMETRY_GRID
   WITH (
    BOUNDING_BOX = ( xmin=0, ymin=0, xmax=500, ymax=200 ),
    GRIDS = (LOW, LOW, MEDIUM, HIGH),
    CELLS_PER_OBJECT = 64,
    PAD_INDEX  = ON );

CREATE SPATIAL INDEX SIndx_SpatialTable_geometry_col2
   ON SpatialTable(geometry_col)
   USING GEOMETRY_GRID
   WITH (
    BOUNDING_BOX = ( xmin=0, ymin=0, xmax=500, ymax=200 ),
    GRIDS = (LOW, LOW, MEDIUM, HIGH),
    CELLS_PER_OBJECT = 64,
    PAD_INDEX  = ON );

C.C.kayma dizin geometrisi sütun oluşturma

Aşağıdaki örnek, üçüncü bir kayma dizin oluşturur SIndx_SpatialTable_geometry_col3, geometry_colde SpatialTabletablosu. Örneğin, varsayılan tessellation düzeni kullanır. Örnek, sınırlama kutusunu belirtir ve nesne başına hücreleri varsayılan sayısını kullanırken, üçüncü ve dördüncü düzeyde, farklı hücre yoğunluğu kullanır.

CREATE SPATIAL INDEX SIndx_SpatialTable_geometry_col3
   ON SpatialTable(geometry_col)
   WITH (
    BOUNDING_BOX = ( 0, 0, 500, 200 ),
    GRIDS = ( LEVEL_4 = HIGH, LEVEL_3 = MEDIUM ) );

CREATE SPATIAL INDEX SIndx_SpatialTable_geometry_col3
   ON SpatialTable(geometry_col)
   WITH (
    BOUNDING_BOX = ( 0, 0, 500, 200 ),
    GRIDS = ( LEVEL_4 = HIGH, LEVEL_3 = MEDIUM ) );

D.Kayma dizinler için belirli bir seçeneği değiştirme

Aşağıdaki örnek, önceki örnekte oluşturulmuş kayma dizin yeniden oluşturur SIndx_SpatialTable_geography_col3, ile a yeni belirtme LEVEL_3yoğunluğu ile DROP_EXISTING = on.

CREATE SPATIAL INDEX SIndx_SpatialTable_geography_col3
   ON SpatialTable(geography_col)
   WITH ( BOUNDING_BOX = ( 0, 0, 500, 200 ),
        GRIDS = ( LEVEL_3 = LOW ),
        DROP_EXISTING = ON );

CREATE SPATIAL INDEX SIndx_SpatialTable_geography_col3
   ON SpatialTable(geography_col)
   WITH ( BOUNDING_BOX = ( 0, 0, 500, 200 ),
        GRIDS = ( LEVEL_3 = LOW ),
        DROP_EXISTING = ON );

E.Bir coğrafi konum sütun kayma dizin oluşturma

Aşağıdaki örnek, adlı bir tablo oluşturur SpatialTable2içeren bir geographytürü sütununda, geography_col. Örnek sonra kayma bir dizin oluşturur SIndx_SpatialTable_geography_col1, geography_col. Örnek GEOGRAPHY_AUTO_GRID tessellation düzeni varsayılan parametre değerleri kullanır.

CREATE TABLE SpatialTable2(id int primary key, object GEOGRAPHY);
CREATE SPATIAL INDEX SIndx_SpatialTable_geography_col1 
   ON SpatialTable2(object);

CREATE TABLE SpatialTable2(id int primary key, object GEOGRAPHY);
CREATE SPATIAL INDEX SIndx_SpatialTable_geography_col1 
   ON SpatialTable2(object);

[!NOT]

Coğrafi konum kılavuz dizinler için sınırlayıcı kutu belirtilemez.

F.Bir coğrafi konum sütun kayma dizin oluşturma

Aşağıdaki örnek, ikinci bir kayma dizin oluşturur SIndx_SpatialTable_geography_col2, geography_colde SpatialTable2tablosu. Örnek GEOGRAPHY_GRIDolarak tessellation düzeni. Örnek, farklı düzeylerdeki farklı ızgara yoğunlukları ve 64 nesne başına hücreleri de belirtir. Örnek dizin doldurma için de ayarlar ON.

CREATE SPATIAL INDEX SIndx_SpatialTable_geography_col2
   ON SpatialTable2(object)
   USING GEOGRAPHY_GRID
   WITH (
    GRIDS = (MEDIUM, LOW, MEDIUM, HIGH ),
    CELLS_PER_OBJECT = 64,
    PAD_INDEX  = ON );

CREATE SPATIAL INDEX SIndx_SpatialTable_geography_col2
   ON SpatialTable2(object)
   USING GEOGRAPHY_GRID
   WITH (
    GRIDS = (MEDIUM, LOW, MEDIUM, HIGH ),
    CELLS_PER_OBJECT = 64,
    PAD_INDEX  = ON );

G.Bir coğrafi konum sütun kayma dizin oluşturma

Örnek daha sonra üçüncü bir kayma dizin oluşturur SIndx_SpatialTable_geography_col3, geography_colde SpatialTable2tablosu. Örneğin, varsayılan tessellation düzeni, GEOGRAPHY_GRID ve varsayılan cells_per_object değerini (16) kullanır.

CREATE SPATIAL INDEX SIndx_SpatialTable_geography_col3
   ON SpatialTable2(object)
   WITH ( GRIDS = ( LEVEL_3 = HIGH, LEVEL_2 = HIGH ) );

CREATE SPATIAL INDEX SIndx_SpatialTable_geography_col3
   ON SpatialTable2(object)
   WITH ( GRIDS = ( LEVEL_3 = HIGH, LEVEL_2 = HIGH ) );

Ayrıca bkz.

Başvuru

ALTER INDEX (Transact-SQL)

Index (Transact-sql) oluştur

PARTITION FUNCTION (Transact-sql) oluştur

PARTITION düzeni (Transact-sql) oluştur

İstatistikler (Transact-sql) oluştur

Tablo (Transact-sql) oluştur

Veri Türleri (Transact-SQL)

dbcc SHOW_STATISTICS (Transact-sql)

drop INDEX (Transact-sql)

eventdata (Transact-sql)

index_columns (Transact-sql)

sys.indexes (Transact-sql)

bounding_box_xmax (Transact-sql)

sys.spatial_indexes (Transact-sql)

Kavramlar

Kayma dizinler genel bakış

Kayma dizinler genel bakış