Reciban estimados tecnólogos Oracle un cordial saludo. A través del presente artículo, tendremos la oportunidad de tratar un tema de gran importancia como lo es el de la colección de estadísticas para cargas masivas o comúnmente llamado como “BulkLoads”.
La colección y el entendimiento de las estadísticas de objetos de base de datos es parte de la columna vertebral de conocimiento que todos los “DBAs” deben poseer para desempeñar sus labores del día a día, sin embargo no vamos a pasar por alto reseñar de forma breve la esencia de su funcionamiento.
Si visualizamos una base datos como un elemento de transacciones en su modo más general podríamos hablar que la misma en un elemento informático que posee y nos permite a grandes rasgos las siguientes capacidades:
- Guardar Información
- Consultar Información
- Modificar Información
Si visualizamos a una base de datos como un simple documento de texto, esas serian sus principales funciones. Obviamente una base de datos de ultima generación posee mucho mas que eso. Pero mas allá de analizar las múltiples funcionalidades de las bases de datos modernas, centrémonos para este caso en lo importante que es consultar la información.
La velocidad de consulta de información siempre ha sido un factor de alta importancia para los sistemas informativos. Existe toda una rama de especialización de cómo analizar inteligentemente los datos para el provecho a nivel de negocios en una empresa, es decir, la capacidad de consultar de forma rápida es tomada con una importancia mayor que inclusive la capacidad de escribir información en la base de datos.
Por supuesto, hay modelos de negocios en los que escribir de forma veloz podría ser más importante que tener una alta eficiencia en lectura. Sin embargo, la mayoría de las bases de datos podrían presentan mayores casos de atención para optimizar las lecturas que las escrituras.
Al momento de leer información en una base de datos se hace a través del lenguaje universal para base de datos relacionados llamado SQL “StructuredQueryLanguage”.
Cuando una base de datos Oracle recibe una sentencia “SQL” para resolver una consulta, se llevan a cabo diversas acciones para lograr la entrega del resultado.
Dentro de los diversos pasos uno de los más importantes es el llevado a cabo por el optimizador basado en costos “CostBasedOptimizer” “CBO”. Para que el “CBO” pueda determinar de forma exacta el plan de ejecución de para un “SQL Query” debe disponer de la información de las estadísticas de las tablas e índices que participan en el “SQL Query”, esta información comúnmente es conocida como "Optimizerstatistics" “Estadisticas del optimizador”, la misma describe como esta compuesto y distribuido internamente el objeto.
Estas estadísticas son utilizadas por el optimizador para elegir el mejor plan de ejecución para cada instrucción SQL.
El tiempo necesario para colectar las estadísticas en algunos casos puede ser de gran medida. En el manejador se pueden utilizar diversos métodos para tratar de reducir el tiempo de esta tarea en la mayor proporción posible.
A continuación presentaremos diversas alternativas para colectar estadísticas:
- Lista de Código 1: Colectando estadísticas automáticamente para un índice en “Oracle Database 11g”
- Lista de Código 2: Colectando estadísticas automáticamente para sentencias “CreateTable As Select” “CTAS”
- Lista de Código 3: “Insert” de tipo "Direct-Path" en tabla no vacía
- Lista de Código 4: “Insert” de tipo "Direct-Path" en tabla vacía
- Lista de Código 5: “Inserts” paralelos
- Lista de Código 6: Estadísticas automáticas para tablas particionadas
- Lista de Código 7: Estadísticas automáticas por partición ( Tablas Particionadas )
- Lista de Código 8: Colección de estadística en base a parámetro de base de datos
No hay comentarios:
Publicar un comentario