Histogramas para tablas de EBS

Author: cdestefano

Generación de Histogramas

El uso de histogramas al analizar las tablas es muy util para aquellas columnas que estan indexadas y los datos no tienen una distribucion uniforme.
Esta informacion estadistica le va a permitir al optimizador decidir en que casos le combiene o no utilizar un indice para la columna analizada.
La siguiente sentencia muestra como generar histogramas a la columna STATUS de la tabla AP_INVOICES_INTERFACE:

analyze table AP_INVOICES_INTERFACE compute statistics for columns STATUS size 254

El parametro size especifica el maximo numero de particiones (buckets) en el histograma. El valor por default es 75 y el maximo es 254.

Que sucede con las tablas de EBS?

Para las tablas de Ebusiness Suite como sabemos las estadisticas deben ser recolectadas por medio del concurrente estandar “Gather Schema Statistics”  o “Gather Table Statistics”.

Para analizar las tablas e indices de los distintos modulos de EBS, estos concurrentes consultan algunas tablas de FND para obtener las opciones y parámetros de cómo se debe ejecutar el comando analyze.

Una de las tablas consultadas es la FND_HISTOGRAM_COLS, la cual nos indica que tablas tienen configurado histogramas y sobre que columnas. Por lo tanto cada vez que agreguemos un nuevo histograma a una tabla del modelo de EBS debemos realizar un insert en esta tabla para que los concurrentes estandar lo tomen en cuenta. La tabla FND_HISTOGRAM_COLS posee la siguiente estructura:

SQL> desc FND_HISTOGRAM_COLS
 Name                                      Null?    Type
 ----------------------------------------- -------- -------------
 APPLICATION_ID                            NOT NULL NUMBER(15)
 TABLE_NAME                                NOT NULL VARCHAR2(30)
 COLUMN_NAME                               NOT NULL VARCHAR2(30)
 PARTITION                                          VARCHAR2(30)
 HSIZE                                              NUMBER
 CREATION_DATE                             NOT NULL DATE
 CREATED_BY                                NOT NULL NUMBER
 LAST_UPDATE_DATE                          NOT NULL DATE
 LAST_UPDATED_BY                           NOT NULL NUMBER
 LAST_UPDATE_LOGIN                                  NUMBER
 OWNER                                              VARCHAR2(30)

 

El siguiente insert nos muestra un ejemplo de como dar de alta un nuevo histograma para la tabla AP_INVOICES_INTERFACE columna STATUS

insert into FND_HISTOGRAM_COLS
values(20003,’AP_INVOICES_INTERFACE’,'STATUS’,null,254,sysdate,1,sysdate,1,null,’AP’);

¡Hola, mundo!

Author: admin

Te damos la bienvenida a WordPress. Esta es tu primera entrada. Edítala o bórrala… ¡y comienza a publicar!