Condividi tramite


Creazione, modifica ed eliminazione di indici spaziali

Un indice spaziale consente di eseguire in modo più efficiente determinate operazioni in una colonna del tipo dati geometria o geografia (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 informazioni, vedere Restrizioni relative agli indici spaziali in questo argomento.

[!NOTA]

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

Contenuto dell'argomento

  • Creazione, modifica ed eliminazione di indici spaziali

    • Per creare un indice spaziale

    • Per modificare un indice spaziale

    • Per eliminare un indice spaziale

  • Restrizioni relative agli indici spaziali

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 oggetti connettersi a un'istanza del Motore di database di SQL Server, quindi espandere questa istanza.

    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 desidera indicizzare, fare clic su Aggiungi.

    8. Nella finestra di dialogo Seleziona colonne da <table name> 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 desidera utilizzare per le proprietà spaziali dell'indice.

      Quando si crea un indice in una colonna di tipo geometry è necessario specificare le coordinate (X-min,Y-min) del (X-max,Y-max) rettangolo di selezione. Per un indice in una colonna del tipo geography, i campi del riquadro diventano di sola lettura dopo avere specificato lo schema a mosaico Griglia geografica, perché lo schema a mosaico della griglia di geografia non utilizza un rettangolo di selezione.

      È 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, mentre la densità della griglia predefinita è Medium per SQL Server 2008.

      È possibile selezionare GEOMETRY_AUTO_GRID o GEOGRAPHY_AUTO_GRID per lo schema a mosaico 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 ulteriori 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.

    [INIZIO PAGINA]

  • 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 desidera 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. Selezionare Indice spaziale dal menu Progettazione tabelle.

    4. Nella finestra di dialogo Indici spaziali selezionare Aggiungi.

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

[INIZIO PAGINA]

Per modificare un indice spaziale

[INIZIO PAGINA]

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. Selezionare l'indice da eliminare nella colonna Indice spaziale selezionato.

    4. Fare clic su Elimina.

[INIZIO PAGINA]

Restrizioni relative agli indici spaziali

Un indice spaziale può essere creato 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

Non è possibile eseguire la replica di nuovi schemi a mosaico spaziali per SQL Server 2012 in SQL Server 2008 R2 o SQL Server 2008. È necessario utilizzare schemi a mosaico spaziali SQL Server 2008 R2 o SQL Server 2008 per gli indici spaziali quando è necessario garantire la compatibilità con i database di SQL Server 2008 R2 o SQL Server 2008.

[INIZIO PAGINA]

Vedere anche

Concetti

Panoramica degli indici spaziali