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
In Esplora oggetti connettersi a un'istanza del Motore di database di SQL Server, quindi espandere questa istanza.
Espandere Database, espandere il database che contiene la tabella con l'indice specificato e quindi espandere Tabelle.
Espandere la tabella per la quale si desidera creare l'indice.
Fare clic con il pulsante destro del mouse su Indici e scegliere Nuovo indice.
Nel campo Nome indice immettere un nome per l'indice.
Nell'elenco a discesa Tipo di indice selezionare Spaziale.
Per specificare la colonna spaziale che si desidera indicizzare, fare clic su Aggiungi.
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.
Verificare la selezione della colonna nella griglia Colonne chiave indice.
Nel riquadro Selezione pagina della finestra di dialogo Proprietà indice fare clic su Spaziale.
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.
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
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.
Selezionare una colonna geometry o una colonna geography per l'indice.
Selezionare Indice spaziale dal menu Progettazione tabelle.
Nella finestra di dialogo Indici spaziali selezionare Aggiungi.
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
-
Importante Per modificare opzioni specifiche di un indice spaziale, ad esempio BOUNDING_BOX o GRID, è possibile utilizzare un'istruzione CREATE SPATIAL INDEX che specifica DROP_EXISTING = ON oppure rimuovere l'indice spaziale e crearne uno nuovo. Per un esempio, vedere CREATE SPATIAL INDEX (Transact-SQL).
[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 indicePer eliminare un indice spaziale tramite Progettazione tabelle in Management Studio
Per eliminare un indice spaziale in Progettazione tabelle
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.
Scegliere Indice spaziale dal menu Progettazione tabelle.
Verrà visualizzata la finestra di dialogo Indice spaziale.
Selezionare l'indice da eliminare nella colonna Indice spaziale selezionato.
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]