Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Dbms_stats.gather_table_stats

Estas en el tema de Dbms_stats.gather_table_stats en el foro de Oracle en Foros del Web. Buenos días, ayer dejé ejecutándose esta línea sobre una tabla que contiene 60.000.000 de registros y lo he tenido que cancelar después de 16 horas, ...
  #1 (permalink)  
Antiguo 11/07/2008, 02:09
 
Fecha de Ingreso: febrero-2008
Mensajes: 10
Antigüedad: 16 años, 10 meses
Puntos: 0
Dbms_stats.gather_table_stats

Buenos días, ayer dejé ejecutándose esta línea sobre una tabla que contiene
60.000.000 de registros y lo he tenido que cancelar después de 16 horas, porque no tenía claro que fuese normal. ¿ALGUIEN ME PUEDE DECIR SI LO ESTOY HACIENDO BIEN? GRACIAS.


Exec DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => 'PROPIET', TABNAME => 'TABLA', CASCADE => TRUE, method_opt => 'FOR ALL COLUMNS SIZE 1');
  #2 (permalink)  
Antiguo 11/07/2008, 02:48
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años, 1 mes
Puntos: 85
Respuesta: Dbms_stats.gather_table_stats

Hola,

No hay bien o mal, mas bien la necesidad del nivel de detalle de las estadisticas, de todos modos, algunas cosas

1. En vez de un compute statistics puede utilizar dbms_stats.auto_sample_size.
2. En vez de cascade true, puedes utilizar dbms_stats.auto_cascade.
3. En vez de for all columns size 1, puedes utilizar for all indexed columns size auto

Estos cambios seguro van a reducir los tiempos, pero ten en mente que las estadisticas pueden cambiar y eso afecta los planes de ejecucion.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:55.