logo
MyWebStudies - Página de inicio
INGRESAR

REGISTRARSE
Buscador

Recolección de estadisticas

Selecciona el idioma :

Este video solo está disponible para los alumnos que han adquirido el curso

Recolección de estadisticas


Oracle recopila estadísticas para conocer los datos físicos de cada tabla, y realizar así un funcionamiento más óptimo. Las estadísticas se pueden recopilar manual, o automáticamente. Por omisión, Oracle recopila las estadísticas a través de un job programado.

Para recopilar estadísticas manualmente se utiliza el paquete DBMS_STATS. Este paquete contiene diversos métodos que facilitan la recopilación de datos. Los datos de las tablas se almacenan en el diccionario de datos y pueden ser consultadas usando las vistas adecuadas.

Consultar cantidad de registros de una tabla.

Para conocer la cantidad de registros que hay en una tabla, podemos consultar la tabla dba_tables. Por ejemplo podemos ejecutar la siguiente consulta:

  • SELECT table_name, num_rows FROM dba_tables WHERE table_name LIKE ‘TEST[

De esta forma buscaremos el registro para la tabla cuyo nombre es “TEST”. Aclarar que “TEST” es una tabla de prueba que hemos creado anteriormente con el usuario “USR1”. Al ejecutar la consulta vemos la columna table_name, la cual muestra el nombre de la tabla, en este caso tenemos la tabla “test”.

Se muestra además la columna num_rows, que contiene el número de filas que contiene la tabla. Podemos ver que para la tabla ¨test¨ hay 5 filas, esto significa que la tabla contiene 5 registros.

Actualizar datos de una tabla con GATHER_TABLE_STATS.

Para ver como actualizar los datos de las estadísticas de una tabla, vamos ahora a borrar el contenido de la tabla ¨Test¨. Para borrar los registros de la tabla test vamos a ejecutar la siguiente consulta:

  • DELETE FROM usr1.test

Recordemos que estamos con el usuario Sys, es por esto que accedemos a la tabla test a través de su propietario. Al ejecutar la consulta vemos entonces que se han eliminado los 5 registros. Vamos ahora a consultar nuevamente los registros para la tabla ¨test¨,

Para esto vamos a ir sobre la consulta que hemos ejecutado anteriormente, y vamos a copiarla:

  • SELECT table_name, num_rows FROM dba_tables WHERE table_name LIKE ‘TEST]

Al ejecutarla nos sigue mostrando que la tabla ¨test¨ contiene cinco filas, cuando debería


recolecion estadisticas

Publicaciones Recientes de oracle dba

¿Hay algún error o mejora?

¿Dónde está el error?

¿Cúal es el error?