ESTIMACIÓN DE TAMAÑOS DE MUESTRAS

El rendimiento de una base de datos relacional, y en particular una base de datos Oracle, depende principalmente del rendimiento de las sentencias SQL que en ella se ejecutan. A partir de la versión 10g Release 2, Oracle declara obsoleto el optimizador basado en la regla (“RULE”), es decir, desde la versión 10.2.0.1, en adelante, el único optimizador soportado por Oracle, es aquel basado en el costo (“COST”).

En la optimización por costo de sentencias SQL, Oracle determina los planes de ejecución óptimos de cada sentencia, a partir de estadísticas de tablas e índices involucrados en cada instrucción SQL. Dichas estadísticas deben ser recolectadas previamente, y actualizadas en forma periódica.

Full Table Scan en Oracle. ¿Aburrido de lecturas innecesarias?

Es muy común que los DBAs traten dentro de los ambientes OLTP evitar este tipo de accesos a los datos. Sabemos que este acceso es lento para tablas grandes, pero también sabemos que es muy usado en tablas pequeñas. Veamos como podemos sacar provecho de la eliminación o uso del no muy bien ponderado full table scan.

Vamos a empezar a ver algún ejemplo práctico: Vamos a crear una tabla mas o menos masiva a partir de otra ya existente:

[oracle@antares ~]$ sqlplus «/as sysdba»

SQL*Plus: Release 9.2.0.8.0 – Production on Tue Mar 3 17:06:31 2009

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle9i Release 9.2.0.8.0 – Production
JServer Release 9.2.0.8.0 – Production

SQL> create table tabla_test as select *  from obj$;

Table created.

SQL> select count(*) from tabla_test;

COUNT(*)
———-
66084

SQL>

Mejorando el desempeño de consultas con QUERY REWRITE y Vistas Materializadas

Desde Oracle 8i existe una funcionalidad de la base de datos Oracle llamada QUERY REWRITE, en la cual en ciertas circunstancias de configuración de parámetros y objetos de base de datos, un SQL emitido por un usuario es re-escrito por otro equivalente que tiene mejor costo. En consecuencia esta funcionalidad tiene como requisito que el optimizador esté configurado como CBO.

Un caso de aplicación frecuente en el uso de QUERY REWRITE se da en ambientes de datawarehouse, donde consultas que usan funciones de grupo sobre una fact table de millones de registros, pueden ser resueltas sobre una tabla de resumen (de cardinalidad mucho menor que la fact table) que contenga la misma información pero con mucho menos lecturas en disco.

Las tablas de resúmenes indicadas se deben implementar con Vistas Materializadas para hacer uso de la característica de QUERY REWRITE.