Creación, modificación y eliminación de índices espaciales
Se aplica a: SQL Server Base de datos de Azure SQL Azure SQL Managed Instance
Un índice espacial puede realizar determinadas operaciones de manera más eficaz en una columna del tipo de datos geometry o geography (una columna espacial). Se puede especificar más de un índice espacial en una columna espacial. Por ejemplo, esto es útil para indizar diferentes parámetros de teselación en una columna única.
Existen varias restricciones para la creación de índices espaciales. Para obtener más información, vea Restricciones en los índices espaciales más adelante en este tema.
Nota:
Para obtener más información sobre la relación de índices espaciales para partición y para grupos de archivos, vea la sección "Comentarios" en CREATE SPATIAL INDEX (Transact-SQL).
Crear, modificar y quitar índices espaciales
Para crear un índice espacial
Para crear un índice espacial mediante Transact-SQL
CREATE SPATIAL INDEX (Transact-SQL)
Para crear un índice espacial mediante el cuadro de diálogo Nuevo índice en Management Studio
Para crear un índice espacial en Management Studio
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos de SQL Server y expándala.
Expanda Bases de datos, a continuación, la base de datos que contiene la tabla con el índice especificado y, por último, Tablas.
Expanda la tabla para la que desee crear el índice.
Haga clic con el botón derecho en Índices y seleccione Nuevo índice.
En el campo Nombre de índice , escriba un nombre para el índice.
En la lista desplegable Tipo de índice , seleccione Espacial.
Para especificar la columna espacial que desee indizar, haga clic en Agregar.
En el cuadro de diálogo Seleccionar columnas de <nombre de tabla>, seleccione una columna de tipo geometry o geography. Para ello, active la casilla correspondiente. Las demás columnas espaciales se convierten en no editables. Si desea seleccionar una columna espacial diferente, primero debe borrar la columna actualmente seleccionada. Cuando termine, haga clic en Aceptar.
Compruebe su selección de columna en la cuadrícula Columnas de clave de índice .
En el panel Seleccionar una página del cuadro de diálogo Propiedades del índice , haga clic en Espacial.
En la página Espacial , especifique los valores que desee usar para las propiedades espaciales del índice.
Al crear un índice en una columna de tipo geometry , debe especificar las coordenadas (X-min,Y-min) y (X-max,Y-max) del cuadro de límite. Para un índice de una columna de tipo geography , los campos de cuadro de límite se vuelven de solo lectura después de especificar el esquema de teselación Cuadrícula geográfica , porque la teselación de cuadrícula de geografía no usa un cuadro de límite.
Opcionalmente, puede especificar valores no predeterminados para el campo Celdas por objeto y para la densidad de cuadrícula en cualquier nivel del esquema de teselación. El número predeterminado de celdas por objeto es 16 para SQL Server 2008 (10.0.x) o 8 para SQL Server 2012 (11.x) o superior, y la densidad de cuadrícula predeterminada es Media para SQL Server 2008 (10.0.x).
Puede seleccionar GEOMETRY_AUTO_GRID o GEOGRAPHY_AUTO_GRID para el esquema de teselación en SQL Server. Cuando se seleccionan GEOMETRY_AUTO_GRID o GEOGRAPHY_AUTO_GRID, se deshabilitan las opciones de densidad de cuadrícula Nivel 1, Nivel 2, Nivel 3 Nivel 4.
Para obtener más información acerca de estas propiedades, vea Index Properties F1 Help.
Haga clic en Aceptar.
Nota:
Para crear otro índice espacial en la misma columna o en otra columna espacial diferente, repita los pasos anteriores.
Para crear un índice espacial mediante el Diseñador de tablas en Management Studio
Para crear un índice espacial en el Diseñador de tablas
En el Explorador de objetos, haga clic con el botón derecho en la tabla para la que quiere crear un índice espacial y luego haga clic en Diseño.
La tabla se abre en el Diseñador de tablas.
Seleccione una columna geometry o geography para el índice.
En el menú Diseñador de tablas , haga clic en Índice espacial.
En el cuadro de diálogo Índices espaciales , haga clic en Agregar.
Seleccione el nuevo índice en la lista Índice espacial seleccionado y configure las propiedades del índice espacial en la cuadrícula de la derecha. Para obtener información sobre las propiedades, vea Cuadro de diálogo Índices espaciales (Visual Database Tools).
Para modificar un índice espacial
-
Importante
Para cambiar opciones específicas de un índice espacial, como BOUNDING_BOX o GRID, puede usar una instrucción CREATE SPATIAL INDEX que especifica DROP_EXISTING = ON, o quitar el índice espacial y crear uno nuevo. Para ver un ejemplo, consulte CREATE SPATIAL INDEX (Transact-SQL).
Para quitar un índice espacial
Para quitar un índice espacial mediante Transact-SQL
DROP INDEX (Transact-SQL)
Para quitar un índice mediante Management Studio
Eliminar un índice
Para quitar un índice espacial mediante el Diseñador de tablas en Management Studio
Para quitar un índice espacial en el Diseñador de tablas
En el Explorador de objetos, haga clic con el botón derecho en la tabla cuyo índice espacial quiere eliminar y elija Diseño.
La tabla se abre en el Diseñador de tablas.
En el menú Diseñador de tablas , haga clic en Índice espacial.
Se abrirá el cuadro de diálogo Índice espacial .
Haga clic en el índice que desee eliminar en la columna Índice espacial seleccionado .
Haga clic en Eliminar.
Restricciones en los índices espaciales
Un índice espacial solamente puede crearse en una columna de tipo geometría o geografía.
Restricciones de las vistas y tablas
Los índices espaciales solo se pueden definir en una tabla que tenga una clave principal. El número máximo de columnas de clave principal en la tabla es de 15.
El tamaño máximo de los registros de clave de índice es 895 bytes. Los tamaños mayores producen un error.
Nota:
No se pueden cambiar los metadatos de clave principal mientras un índice espacial está definido en una tabla.
Los índices espaciales no se pueden especificar en vistas indizadas.
Varias restricciones de los índices espaciales
Puede crear hasta 249 índices espaciales en cualquiera de las columnas espaciales de una tabla admitida. Crear más de un índice espacial en la misma columna espacial puede ser útil, por ejemplo, para indizar parámetros de teselación diferentes en una única columna.
Solo puede crear un índice espacial al mismo tiempo.
Índices espaciales y paralelismo del proceso
Una generación de índices puede usar el paralelismo de procesos disponible.
Restricciones de versión
Las teselaciones espaciales introducidas en SQL Server 2012 (11.x) no se pueden replicar en SQL Server 2008 R2 (10.50.x) o SQL Server 2008 (10.0.x). Debe usar SQL Server 2008 R2 (10.50.x) o SQL Server 2008 (10.0.x) teselaciones espaciales para índices espaciales cuando la compatibilidad con versiones anteriores con SQL Server 2008 R2 (10.50.x) o SQL Server 2008 (10.0.x) es un requisito.