CREATE SPATIAL INDEX (Transact-SQL)

Tworzy indeks przestrzenne na określonych tabel i kolumn.Indeks można utworzyć, zanim dane w tabela.Indeksy mogą być tworzone na tabel lub widoków w innej bazie danych, określając nazwę kwalifikowaną bazy danych.

Uwaga

Aby uzyskać informacje na temat przestrzennej indeksów zobacz Przegląd indeksowania przestrzenny.

Topic link iconKonwencje składni języka Transact-SQL

Create Spatial Index 
CREATE SPATIAL INDEX index_name 
  ON <object> ( spatial_column_name )
    {
       [ USING <geometry_grid_tessellation> ]
          WITH ( <bounding_box> 
                [ [,] <tesselation_parameters> [ ,...n ] ] 
                [ [,] <spatial_index_option> [ ,...n ] ] ) 
     | [ USING <geography_grid_tessellation> ] 
          [ WITH ( [ <tesselation_parameters> [ ,...n ] ]
                   [ [,] <spatial_index_option> [ ,...n ] ] ) ]
    } 
  [ ON { filegroup_name | "default" } ]
; 

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

<geometry_grid_tessellation> ::=
{ GEOMETRY_GRID }
  
<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_parameters> ::=
{ 
    GRIDS = ( { <grid_density> [ ,...n ] | <density>, <density>, <density>, <density>  } ) 
  | CELLS_PER_OBJECT = n 
}

<grid_density> ::=
{
     LEVEL_1 = <density> 
  |  LEVEL_2 = <density> 
  |  LEVEL_3 = <density> 
  |  LEVEL_4 = <density> 
}

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

<geography_grid_tessellation> ::= 
{ GEOGRAPHY_GRID }
  
<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
}

Argumenty

  • index_name
    To nazwa indeksu.Nazwy indeksu musi być unikatowa w obrębie tabela, ale nie muszą być unikatowe w bazie danych.Indeks nazwy muszą być zgodne z regułami identyfikatory.

  • ON <object> ( spatial_column_name )
    Określa obiekt (bazy danych, schemacie lub tabela), na którym ma być tworzony indeks i nazwę kolumna przestrzennej.

    spatial_column_name Określa przestrzennej kolumna, na której oparty jest indeks.Można określić tylko jedną kolumna przestrzennej w definicji indeksu przestrzennej pojedynczego; jednak wiele przestrzennej indeksy mogą być tworzone na Geometria or lokalizacja geograficzna kolumna.

  • ZA POMOCĄ
    Określa schemat tesselacją przestrzennej indeksu.Ten parametr domyślnym jest wartość określonego typu, w następujący sposób:

    Typ danych kolumna

    Schemat tesselacją

    geometry

    GEOMETRY_GRID

    geography

    GEOGRAPHY_GRID

    Indeks przestrzennej mogą być tworzone tylko na kolumna typu Geometria or lokalizacja geograficzna.W przeciwnym razie jest spowodował błąd.Ponadto jeśli przekazany nieprawidłowy parametr dla danego typu, błąd zostanie zaokrąglona.

    Uwaga

    Aby uzyskać informacje na temat SQL Server implementuje tesselacją, zobacz Przegląd indeksowania przestrzenny.

  • ON filegroup_name
    Tworzy określony indeks na określoną grupa plików.Jeśli lokalizacja nie jest określona tabela nie jest podzielony na partycje, indeks używa grupa plików, w tym samym jako tabeli źródłowej.grupa plików, w musi już istnieć.

  • NA "domyślny**"**
    Tworzy określony indeks na grupa plików domyślnych.

    Domyślnie okres, w tym kontekście nie jest słowem kluczowym.Może być VIEW lub tabela bazowa.Jeżeli określono wartość "" domyślny", opcja QUOTED_IDENTIFIER musi być włączone dla bieżącej sesja.Jest to ustawienie domyślne.Aby uzyskać więcej informacji zobaczzestaw QUOTED_IDENTIFIER (języka Transact-SQL).

<obiekt>::=

Jest to obiekt w pełni kwalifikowana lub innych niż-pełną mają być indeksowane.

  • database_name
    Jest nazwą bazy danych.

  • schema_name
    To nazwa schematu, do której należy tabela.

  • table_name
    Jest nazwą tabela, która ma być indeksowany.

WITH opcje

  • GEOMETRY_GRID
    Określa schemat tesselacją siatki geometrii, który jest używany.Można określić tylko na GEOMETRY_GRID a kolumna z geometry Typ danych. To jest domyślne dla tego typu danych i nie musi być określona.

  • GEOGRAPHY_GRID
    Określa schemat tesselacją Geografia siatki.GEOGRAPHY_GRID może być określona tylko na kolumnie geography Typ danych. To jest domyślne dla tego typu danych i nie musi być określona.

  • BOUNDING_BOX
    Określa numeryczny czterech spójna kolekcja, który definiuje współrzędne cztery pole ograniczenia: współrzędne x min i y min lewym, dolnym rogu okna i maks.-x i y max współrzędne prawym górnym rogu.

    • xmin
      Określa współrzędną x lewego dolnego rogu pole ograniczenia.

    • ymin
      Określa współrzędną y lewego dolnego rogu pole ograniczenia.

    • xmax
      Określa współrzędną x w prawym górnym rogu pole ograniczenia.

    • ymax
      Określa współrzędną y prawym górnym rogu pole ograniczenia.

    • XMIN = xmin
      Określa nazwę właściwość i wartości współrzędną x lewego dolnego rogu pole ograniczenia.

    • YMIN = ymin
      Określa nazwę właściwość i wartości współrzędną y lewego dolnego rogu pole ograniczenia.

    • XMAX = xmax
      Określa nazwę właściwość, a wartość współrzędnej osi x w prawym górnym rogu pole ograniczenia.

    • YMAX = ymax
      Określa nazwę właściwość i wartość współrzędnej y prawym górnym rogu pole ograniczenia

    Współrzędne obwiedni można zastosować wyłącznie w klauzula korzystania GEOMETRY_GRID.

    xmax musi być większa niż xmin i ymax musi być większa niż ymin. Można określić wszelkie ważne zmiennoprzecinkowe wartość reprezentacja, przy założeniu, że: xmax > xmin and ymax > ymin.W przeciwnym razie są wywoływane odpowiednie błędy.

    Istnieją wartości domyślne.

    Nazwy właściwość obwiedni są wielkości liter, niezależnie od sortowanie bazy danych.

    Aby określić nazwy właściwość, należy określić każdego z nich tylko raz i tylko raz.Można je określić w dowolnej kolejności.Na przykład następujące klauzule są równoważne:

    • BOUNDING_BOX = (XMIN = xminYMIN = yminXMAX = xmaxYMAX = ymax )

    • BOUNDING_BOX = (XMIN = xminXMAX = xmaxYMIN = yminYMAX = ymax )

  • SIATKI
    Określa gęstość siatki na każdym poziom tesselacją systemu.

    Uwaga

    Aby uzyskać informacje dotyczące tworzenia szachownicy, zobacz Przegląd indeksowania przestrzenny.

    Dostępne są następujące parametry siatki:

    • LEVEL_1
      Określa pierwszy poziom siatki (u góry).

    • LEVEL_2
      Określa siatki drugiego poziom.

    • LEVEL_3
      Określa siatki trzeciego poziom.

    • LEVEL_4
      Określa poziom czwarty siatki.

    • NISKA
      Określa najniższy gęstość możliwe do siatki w danego poziom.LOW co daje do 16 komórek (siatka 4 x 4).

    • KROKI
      Określa gęstość średni rozmiar siatki w danego poziom.ŚREDNIE, co daje do 64 komórek (Siatka 8 x 8).

    • WYSOKA
      Określa najwyższy gęstość możliwe do siatki w danego poziom.WYSOKIE, co daje do 256 komórek (siatka 16 x 16).

    Za pomocą nazwy poziom pozwala określić poziomy w dowolnej kolejności i pominąć poziomów.Jeśli używasz nazwy na dowolnym poziomie, należy użyć nazw o innym poziomie określonym przez użytkownika.Jeśli poziom zostanie pominięty, jego gęstości domyślnie średnie.

    Jeżeli określono o nieprawidłowych gęstości, uruchamiany jest błąd.

  • CELLS_PER_OBJECT = n
    Specifies the number of tessellation cells per object that can be used for a single spatial object in the index by the tessellation process.n can be any integer between 1 and 8192, inclusive.Domyślna liczba komórek w każdym obiekcie wynosi 16.Jeśli jest przekazano nieprawidłową liczbę lub liczba jest większa niż maksymalna liczba komórki dla określonego tesselacją, błąd zostanie zaokrąglona.

    Na najwyższym poziomie Jeśli obiekt obejmuje więcej komórek niż określony przez n, indeksowania używa tylu komórek w razie potrzeby, aby zapewnić pełną tesselacją najwyższego poziom. W takich przypadkach obiekt może zostać wyświetlony więcej niż określoną liczbę komórek.W takim przypadek maksymalnej liczby jest liczba generowanych przez siatki najwyższego poziom, która zależy od gęstość komórek.

    Wartość CELLS_PER_OBJECT jest używana przez regułę tesselacją komórek na obiekt.Aby uzyskać informacje o regułach tesselacją zobacz Przegląd indeksowania przestrzenny.

  • TABELA
    Określa, że wartość zwracaną przez funkcja zwracająca tabelę jest tabela.Wartością domyślną jest OFF.

    • DALEJ
      Procent wolnego miejsca, która jest określona przez fillfactor zostanie zastosowany do stron pośrednich poziomów wskaźnika.

    • Jeśli nie chcesz wykonać kopie zapasowe dziennika, należy użyć prostej model odzyskiwanie.fillfactor
      Strony poziom pośrednich są wypełniane bliskiej zdolności produkcyjnych, pozostawiając wystarczająco dużo miejsca dla co najmniej jeden wiersz maksymalnego rozmiaru indeksu może mieć, biorąc pod uwagę zestaw kluczy na stronach pośrednich.

    PAD_INDEX opcja jest przydatna tylko wtedy, gdy określono FILLFACTOR, ponieważ PAD_INDEX używa wartości procentowej określonej przez FILLFACTOR.Jeśli wartość procentowa określona dla FILLFACTOR nie jest wystarczająco duża, aby umożliwić jednego wiersza, Database Engine wewnętrznie zastępuje wartości procentowej, która umożliwia minimum. Liczba wierszy strona indeksu pośrednich nigdy nie jest mniej niż dwa, niezależnie od sposobu niskie wartości fillfactor.

  • FILLFACTOR = fillfactor
    Specifies a percentage that indicates how full the Database Engine should make the leaf level of each index page during index creation or rebuild.fillfactor must be an integer value from 1 to 100.Wartość domyślna to 0.Jeśli fillfactor to 100 lub 0, Database Engine tworzy indeksy ze stronami liść wypełnienia pojemności.

    Uwaga

    Wypełnienie współczynnik wartości 0 i 100 są takie same w każdym względem.

    Ustawienie FILLFACTOR ma zastosowanie tylko wtedy, gdy indeks jest tworzony lub ponownie zbudowana.The Database Engine does not dynamically keep the specified percentage of empty space in the pages.Aby wyświetlić ustawienia współczynnik wypełnienia, należy użyć sys.Indexes Służy do wyświetlania katalogu.

    Important noteImportant Note:

    Tworzenie indeks klastrowany z FILLFACTOR mniejsza niż 100 wpływa na ilość miejsca do magazynowania danych zajmuje ponieważ Database Engine Rozkłada danych podczas tworzenia indeks klastrowany.

    Aby uzyskać więcej informacji zobacz Fill Factor.

  • SORT_IN_TEMPDB = {NA | WYŁĄCZONA}
    Określa, czy wyniki sortowania tymczasowe są przechowywane w tempdb.Wartością domyślną jest OFF.

    • DALEJ
      Wyniki sortowania pośrednie, które służą do konstruowania indeksu są przechowywane w tempdb.Może to zmniejszyć czas wymagany do tworzenia indeksu, jeśli tempdb znajduje się na inny zestaw dysków niż baza danych użytkownika.Opcja NO_TRUNCATE kopia zapasowa dziennik jest równoznaczne z wpisaniem COPY_ONLY i CONTINUE_AFTER_ERROR.

    • WYŁĄCZANIE
      Bez opcji NO_TRUNCATE baza danych musi być w trybie ONLINE.

    Oprócz przestrzeni, wymaganych baza danych użytkownika, aby utworzyć indeks tempdb musi mieć informacje o tej samej ilości dodatkowego miejsca do przechowywania wyniki pośrednich sortowania.Aby uzyskać więcej informacji zobacztempdb and Index Creation.

  • IGNORE_DUP_KEY = WYŁĄCZONE
    Nie ma znaczenia dla indeksów przestrzennej typ indeksu nigdy nie jest unikatowy.Nie zestaw tę opcję, aby ON inaczej błąd zostanie zaokrąglona.

  • STATISTICS_NORECOMPUTE = { ON | OFF}
    Określa, czy są obliczane ponownie statystyki rozkładu.Domyślnie opcja ta jest wyłączona.

    • DALEJ
      Klauzula STANDBY zapisuje gotowości danych (wykonywanie wycofywania, ale z możliwością dalsze przywraca).

    • WYŁĄCZANIE
      Za pomocą opcji STANDBY jest równoznaczne z następują przywracanie WITH STANDBY NORECOVERY WITH dla dziennik kopia zapasowa.

    Aby przywrócić statystyk automatycznych aktualizacji, zestaw STATISTICS_NORECOMPUTE do OFF, lub wykonywania aktualizacja statystyki bez klauzula NORECOMPUTE.

    Important noteImportant Note:

    Wyłączanie automatycznego recomputation statystyk dystrybucji może uniemożliwić pobieranie wykonanie optymalne plany kwerend obejmujących tabela optymalizator kwerendy.

  • DROP_EXISTING = {NA | WYŁĄCZONA}
    Określa, że nazwany, istniejący wcześniej indeks przestrzennej jest usunięty, a zostanie przebudowany.Wartością domyślną jest OFF.

    • DALEJ
      Istniejący indeks jest usunięty, a następnie zostanie przebudowany.Określona nazwa indeksu musi być taka sama, jak aktualnie istniejącego indeksu, jednak mogą być modyfikowane definicji indeksu.Na przykład można określić różnych kolumn, kolejność sortowania, schemat partycji lub opcje indeksu.

    • WYŁĄCZANIE
      Błąd jest wyświetlany, jeśli nazwa określony indeks już istnieje.

    Typ indeksu nie można zmienić za pomocą DROP_EXISTING.

  • TRYB ONLINE = WYŁĄCZONE
    Określa, że tabel i indeksów skojarzonych nie są dostępne do modyfikacji kwerendy i danych podczas operacji indeksu.W tej wersja SQL Server, kompilacje online indeks nie są obsługiwane dla indeksów przestrzennej. Jeśli ta opcja jest ustawiona na ON przestrzennej indeksu, błąd zostanie zaokrąglona.Należy pominąć opcję ONLINE lub ustawić ONLINE OFF.

    Operację indeksu w trybie offline, która tworzy, odbudowania lub spadnie przestrzennej indeksu, uzyskuje blokadę schemat modyfikacji (SCH-M) w tabela.Aby uniknąć wypełnianie dziennik transakcji bazy danych, niezbędne są rutynowego tworzenia kopii zapasowych.

    Uwaga

    Są dostępne tylko w operacji indeksu online SQL Server Wersje Enterprise Developer i oceny.

  • ALLOW_ROW_LOCKS = {DALEJ | OFF }
    Określa, czy są dozwolone blokady wierszy.Domyślnie opcja ta jest włączona.

    • DALEJ
      Są dozwolone blokady wierszy podczas uzyskiwania dostępu do indeksu.Program Database Engine określa, kiedy są stosowane blokady wierszy.

    • WYŁĄCZANIE
      plik rezerwowy staje się częścią bazy danych.

  • ALLOW_PAGE_LOCKS = {DALEJ | OFF }
    Aby uzyskać więcej informacji zobacz sekcję "Wskazówki na używanie kolejność sortowania," w dalszej części tego tematu.Wartością domyślną jest włączone.

    • DALEJ
      Ten plik zawiera walcowanego zmian, które muszą zostać wystornowane przywracanie dziennik operacji mają być zastosowane później z powrotem.The Database Engine determines when strona locks are used.

    • WYŁĄCZANIE
      Może być za mało miejsca na dysku dla pliku stanu gotowości do wzrostu tak, że może on zawierać wszystkie różne strony z bazy danych, które zostały zmodyfikowane przez wycofywanie niezakończone transakcje.

  • MAXDOP = max_degree_of_parallelism
    Zastępuje maksymalny stopień proste opcja konfiguracja na czas trwania operacji indeksu.W celu ograniczenia liczby procesorów używanych w realizacji planu równoległych, należy użyć MAXDOP.Maksymalna to 64 procesorów.

    Important noteImportant Note:

    Chociaż opcja MAXDOP składniowo jest obsługiwana, CREATE INDEX PRZESTRZENNEJ aktualnie zawsze używa tylko jeden procesor.

    max_degree_of_parallelism może być:

    • 1
      Wyłącza generowanie planu równoległych.

    • >1
      Ogranicza maksymalną liczbę procesorów używanych w operacji indeksu równolegle do określonej liczby lub mniej oparte na bieżącym obciążenia systemu.

    • 0 (domyślny)
      Używa rzeczywista liczba procesorów lub mniej oparte na bieżącym obciążenia systemu.

    Aby uzyskać więcej informacji zobacz Konfigurowanie równoległa operacje indeksu.

    Uwaga

    Są dostępne tylko w operacji równoległych indeksu SQL Server Wersje Enterprise Developer i oceny.

Remarks

Aby uzyskać informacje wstępne przestrzennej indeksowania w programie SQL Server zobacz Przegląd indeksowania przestrzenny.

Opcja każdego mogą być określone tylko jeden raz dla każdego instrukcja CREATE INDEX PRZESTRZENNEJ.Określanie duplikat dowolną opcję zgłasza błąd.

Można utworzyć maksymalnie 249 indeksów przestrzennej na każdej przestrzennej kolumna w tabela.Utworzenie więcej niż jednym indeksie przestrzennego w określonej kolumnie przestrzennej może być przydatna na przykład do indeksu tesselacją różnych parametrów w jednej kolumnie.

Important noteImportant Note:

Istnieje kilka innych ograniczeń dotyczących tworzenia przestrzennych indeksu.Aby uzyskać więcej informacji zobaczRestrictions on Spatial Indexes.

Kompilacja indeksu nie może utworzyć wykorzystania dostępnych procesu proste.

Metody obsługiwane na indeksy przestrzenny

W określonych warunkach przestrzennej indeksów obsługuje szereg metod geometrii zorientowane na zestaw.Aby uzyskać więcej informacji zobaczMetody geometrii obsługiwane przez przestrzennej indeksów.

Indeksy przestrzenne i partycjonowanie

Domyślnie jeśli tworzona jest przestrzennej indeksu na tabela partycjonowana, indeks jest już podzielony na partycje zgodnie z schemat partycji tabeli.Gwarantuje to, że dane indeksu i powiązanych wierszy są przechowywane w tej samej partycji.

W takim przypadek należy zmienić schemat partycji podstawowej tabeli, należy upuścić przestrzennej indeksu, zanim zostanie można podzielić na partycje w tabela bazowa.Aby uniknąć tego ograniczenia podczas tworzenia indeksu przestrzennej, można określić opcję „ ON grupa plików".Aby uzyskać więcej informacji zobacz "Przestrzennej indeksy i Filegroups," w dalszej części tego tematu.

Przestrzenne indeksy i Filegroups

Domyślnie przestrzennej indeksy są na partycje na tym samym filegroups jako tabela, w którym określono indeksu.Może być zastąpiona przy użyciu specyfikacji grupa plików:

{filegroup_name| "domyślny"}

Jeśli określisz grupa plików w przestrzennej indeksu indeks znajduje się na tę grupa plików, niezależnie od schematu partycjonowanie tabela.

Katalogowanie widoki dla indeksów przestrzenny

Następujące widoki wykazu są specyficzne dla indeksów przestrzenny:

Aby uzyskać informacje o strukturze metadane przestrzennej indeksów zobacz Internal Tables.

Dodatkowe uwagi o tworzenie indeksów

Aby uzyskać więcej informacji na temat tworzenia indeksów zobacz sekcję "Uwagi" w CREATE INDEX (języka Transact-SQL).

Uprawnienia

Wymaga uprawnienia ALTER na tabela lub widoku.Użytkownik musi być członkiem roli sysadmin stałych serwera lub db_ddladmin i db_owner stałe role bazy danych.

Przykłady

A.Tworzenie indeksu przestrzennej na geometrii kolumna

Poniższy przykład tworzy tabela o nazwie SpatialTable zawiera geometry Kolumna Typ geometry_col. W przykładzie następnie tworzony jest indeks przestrzennej, SIndx_SpatialTable_geometry_col1, na geometry_col. W przykładzie użyto domyślnego schematu tesselacją i określa pole ograniczenia.

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.Tworzenie indeksu przestrzennej na geometrii kolumna

Poniższy przykład tworzy drugi indeks przestrzenny SIndx_SpatialTable_geometry_col2, na geometry_col w SpatialTable Tabela. W przykładzie określa się GEOMETRY_GRID jako schemat tesselacją. W przykładzie określa również pole ograniczenia różnych gęstości na siatce różne poziomy i 64 komórek na obiekt.W przykładzie ustawiany jest również uzupełnianie do indeksu 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.Tworzenie indeksu przestrzennej na geometrii kolumna

Poniższy przykład tworzy trzeciego przestrzennej indeks, SIndx_SpatialTable_geometry_col3, na geometry_col w SpatialTable Tabela. W przykładzie użyto domyślnego schematu tesselacją.W przykładzie określa pole ograniczenia i używa innej komórka gęstości na poziomie trzecim i czwartym podczas korzystania z domyślnej liczby komórek na obiekt.

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.Zmiana opcji specyficzne dla indeksów przestrzenny

Poniższy przykład buduje ponownie przestrzennej indeksu utworzonego w poprzednim przykładzie SIndx_SpatialTable_geography_col3, określając nową LEVEL_3 gęstość z 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.Tworzenie indeksu przestrzennej kolumn lokalizacja geograficzna

Poniższy przykład tworzy tabela o nazwie SpatialTable2 zawiera geography Kolumna Typ geography_col. W przykładzie następnie tworzony jest indeks przestrzennej, SIndx_SpatialTable_geography_col1, na geography_col. W przykładzie użyto wartości domyślnych parametrów systemu tesselacją GEOGRAPHY_GRID.

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

Uwaga

Dla indeksów siatki lokalizacja geograficzna nie można określić pole ograniczenia.

F.Tworzenie indeksu przestrzennej kolumn lokalizacja geograficzna

Poniższy przykład tworzy drugi indeks przestrzenny SIndx_SpatialTable_geography_col2, na geography_col w SpatialTable2 Tabela. W przykładzie określa się GEOGRAPHY_GRID jako schemat tesselacją. W przykładzie określa również gęstości siatki różne na różnych poziomach oraz 64 komórek na obiekt.W przykładzie ustawiany jest również uzupełnianie do indeksu 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.Tworzenie indeksu przestrzennej kolumn lokalizacja geograficzna

W przykładzie jest tworzona w trzecim przestrzennej indeksu, SIndx_SpatialTable_geography_col3, na geography_col w SpatialTable2 Tabela. W przykładzie użyto domyślnego schematu tesselacją GEOGRAPHY_GRID i CELLS_PER_OBJECT wartość domyślną (16).

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