Las pautas provistas en este tema pueden mejorar el desempeño de las consultas espaciales cuando tiene que calcular manualmente el tamaño de un índice de cuadrícula espacial en Oracle y DB2.
El tamaño de celda de la cuadrícula afecta el tamaño de la tabla de índice espacial. Configurar el índice espacial significa equilibrar los tamaños de celda: los tamaños de celda más pequeños implican que habrá más celdas por forma, lo que requiere más entradas en la tabla de índice espacial.
Si utiliza aplicaciones de cliente de terceros, las aplicaciones y los perfiles de datos espaciales pueden variar de un sistema a otro. En estos casos, es posible que deba experimentar con el índice espacial, probando diferentes tamaños de celdas y diferentes configuraciones de nivel de cuadrícula.
- Considere cuántos niveles de cuadrícula se necesitan y recuerde que el optimizador de bases de datos escanea la tabla del índice espacial una vez por nivel de cuadrícula. Generalmente, un nivel de cuadrícula único es la mejor solución para una clase de entidad, independientemente de la noción de distribución equilibrada de geometrías en muchos niveles de cuadrículas para minimizar las entradas de índice espacial.
- Utilice un nivel de cuadrícula para clases de entidad de tipo de punto puro y considere utilizar tamaños de celdas grandes. Las consultas espaciales generalmente procesan geometrías de punto más rápido que otros tipos de geometrías.
- Controle el índice espacial. Ajustar el índice espacial es difícil si los datos cambian con frecuencia. El ajuste depende de la estructura de los datos espaciales. Evalúe periódicamente el índice espacial a medida que sus datos espaciales cambian.
- Utilice la aplicación como base para el índice espacial. Haga coincidir el tamaño de las celdas de la cuadrícula del índice espacial con la extensión de la ventana de la aplicación. Al hacer eso, la aplicación probablemente visualice entradas exactas en la tabla del índice espacial. Esto ayuda a ajustar el tamaño de la tabla del índice espacial adecuadamente y reduce la cantidad de procesamiento, dado que se deben evaluar menos candidatos de Id. de entidad respecto de la tabla de entidad.
- Para ventanas de aplicación variables o desconocidas, comience por definir un nivel de cuadrícula con un tamaño de celda tres veces mayor que el tamaño promedio de la extensión de entidad. Consulte la tabla de negocios para obtener el tamaño de entidad promedio. La siguiente declaración SQL se utiliza para obtener el tamaño de entidad promedio para un servicio de entidades en Oracle:(donde <N> es la tabla espacial y la forma es la columna de geometría de la tabla <N>). Esa configuración del índice espacial minimiza el número de filas en la tabla del índice espacial y, a la vez, mantiene la competencia del índice porque sólo se puede hacer referencia a la mayoría de las entidades por menos de una o dos celdas de cuadrícula.
SELECT (AVG(SDE.ST_MAXX(shape) – SDE.ST_MINX(shape)) + AVG(SDE.ST_MAXY(shape) – SDE.ST_MINY(shape))) / 2 from <N>;
- Diseñe la tabla espacial alrededor de categorías de datos espaciales, tales como tipo, tamaño de geometría y distribución. Algunas veces, una clase de entidad cuidadosamente diseñada, al usar estas categorías, puede incrementar sustancialmente el desempeño de las consultas espaciales.
Si crea los datos mediante ArcGIS Desktop, el índice de la cuadrícula espacial se calcula automáticamente.
Para obtener más información sobre el índice de cuadrícula del extensor espacial de DB2, consulte la Referencia y guía del usuario del extensor geodésico y el extensor espacial de DB2.