Condividi tramite


Creare, modificare ed eliminare indici spaziali

Un indice spaziale può eseguire in modo più efficiente determinate operazioni su una colonna del tipo di geometry dati o geography (una colonna spaziale). In una colonna spaziale è possibile specificare più di un indice spaziale. Ciò è utile, ad esempio, per indicizzare diversi parametri della suddivisione a mosaico in una sola colonna.

La creazione di indici spaziali è soggetta a un certo numero di limitazioni. Per altre informazioni, vedere Restrizioni relative agli indici spaziali .

Nota

Per informazioni sulla relazione degli indici spaziali con la partizione e i filegroup, vedere la sezione "Osservazioni" in CREATE SPATIAL INDEX (Transact-SQL).

Creazione, modifica e rimozione di indici spaziali

Per creare un indice spaziale

Per creare un indice spaziale tramite Transact-SQL
CREATE SPATIAL INDEX (Transact-SQL)

Per creare un indice spaziale tramite la finestra di dialogo Nuovo indice in Management Studio

Per creare un indice spaziale in Management Studio
  1. In Esplora oggetticonnettersi a un'istanza del motore di database di SQL Server e, successivamente, espanderla.

  2. Espandere Database, espandere il database che contiene la tabella con l'indice specificato e quindi espandere Tabelle.

  3. Espandere la tabella per la quale si desidera creare l'indice.

  4. Fare clic con il pulsante destro del mouse su Indici e scegliere Nuovo indice.

  5. Nel campo Nome indice immettere un nome per l'indice.

  6. Nell'elenco a discesa Tipo di indice selezionare Spaziale.

  7. Per specificare la colonna spaziale che si vuole indicizzare, fare clic su Aggiungi.

  8. Nella finestra di dialogo Seleziona colonne dal < nome> della tabella selezionare una colonna di tipo geometry o geography selezionando la casella di controllo corrispondente. Le altre colonne spaziali eventualmente presenti diventano non modificabili. Se si desidera selezionare una colonna spaziale diversa, è innanzitutto necessario deselezionare la colonna attualmente selezionata. Al termine, fare clic su OK.

  9. Verificare la selezione della colonna nella griglia Colonne chiave indice .

  10. Nel riquadro Selezione pagina della finestra di dialogo Proprietà indice fare clic su Spaziale.

  11. Nella pagina Spaziale specificare i valori che si vogliono usare per le proprietà spaziali dell'indice.

    Quando si crea un indice in una geometry colonna di tipo, è necessario specificare le coordinate (X-min,Y-min) e (X-max,Y-max) del rettangolo di selezione. Per un indice in una geography colonna di tipo, i campi del rettangolo delimitatore diventano di sola lettura dopo aver specificato lo schema a mosaico griglia Geography , perché la tassellatura della griglia geography non usa un rettangolo delimitatore.

    È eventualmente possibile specificare valori non predefiniti per il campo Celle per oggetto e per la densità griglia a qualsiasi livello dello schema a mosaico. Il numero predefinito di celle per oggetto è 16 per SQL Server 2008 o 8 per SQL Server 2012 (11.x) o versione successiva e la densità della griglia predefinita è Media per SQL Server 2008.

    È possibile selezionare GEOMETRY_AUTO_GRID or GEOGRAPHY_AUTO_GRID per lo schema di tassellatura in SQL Server. Quando si seleziona GEOMETRY_AUTO_GRID o GEOGRAPHY_AUTO_GRID, le opzioni Livello 1, Livello 2, Livello 3 e Livello 4 per la densità della griglia sono disabilitate.

    Per altre informazioni su queste proprietà, vedere Guida sensibile al contesto di Proprietà indice.

  12. Fare clic su OK.

Nota

Per creare un altro indice spaziale nella stessa colonna spaziale o in una colonna diversa, ripetere i passaggi precedenti.

Per creare un indice spaziale tramite Progettazione tabelle in Management Studio

Per creare un indice spaziale in Progettazione tabelle
  1. In Esplora oggetti fare clic con il pulsante destro del mouse sulla tabella per la quale si vuole creare un indice spaziale e scegliere Progetta.

    La tabella verrà visualizzata in Progettazione tabelle.

  2. Selezionare una colonna geometry o una colonna geography per l'indice.

  3. Scegliere Indice spaziale dal menu Progettazione tabelle.

  4. Nella finestra di dialogo Indici spaziali fare clic su Aggiungi.

  5. Selezionare il nuovo indice dall'elenco Indice spaziale selezionato e impostarne le proprietà nella griglia a destra. Per informazioni sulle proprietà, vedere Finestra di dialogo Indici spaziali (Strumenti di Visual Database).

Per modificare un indice spaziale

Per eliminare un indice spaziale

Per eliminare un indice spaziale tramite Transact-SQL
DROP INDEX (Transact-SQL)

Per eliminare un indice utilizzando Management Studio
Eliminare un indice

Per eliminare un indice spaziale tramite Progettazione tabelle in Management Studio

Per eliminare un indice spaziale in Progettazione tabelle
  1. In Esplora oggetti, selezionare con il pulsante destro del mouse la tabella contenente l'indice spaziale da eliminare, quindi selezionare Progetta.

    La tabella verrà visualizzata in Progettazione tabelle.

  2. Scegliere Indice spaziale dal menu Progettazione tabelle.

    Verrà visualizzata la finestra di dialogo Indice spaziale .

  3. Fare clic sull'indice da eliminare nella colonna Indice spaziale selezionato .

  4. Fai clic su Elimina.

Restrizioni relative agli indici spaziali

È possibile creare un indice spaziale solo in una colonna di tipo geometry o geography.

Restrizioni per viste e tabelle

È possibile definire indici spaziali solo per una tabella con chiave primaria. Il numero massimo di colonne chiave primaria in una tabella è pari a 15.

La dimensione massima dei record di una chiave di indice è 895 byte. Dimensioni maggiori generano un errore.

Nota

I metadati della chiave primaria non possono essere modificati se un indice spaziale è definito in una tabella.

Non è possibile specificare indici spaziali in viste indicizzate.

Restrizioni relative a più indici spaziali

È possibile creare fino a 249 indici spaziali in ognuna delle colonne spaziali in una tabella supportata. La creazione di più di un indice spaziale nella stessa colonna spaziale può essere utile, ad esempio, per indicizzare parametri della suddivisione a mosaico diversi in una sola colonna.

È possibile creare solo un indice spaziale alla volta.

Indici spaziali e parallelismo di processi

Per la compilazione di un indice è possibile utilizzare il parallelismo di processi disponibile.

Restrizioni della versione

Le tassellature spaziali introdotte in SQL Server 2012 (11.x) non possono essere replicate in SQL Server 2008 R2 o SQL Server 2008. È necessario usare tassellature spaziali di SQL Server 2008 R2 o SQL Server 2008 per indici spaziali quando la compatibilità con le versioni precedenti con i database di SQL Server 2008 R2 o SQL Server 2008 è un requisito.

Vedi anche

Panoramica degli indici spaziali