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

Existe alguna optimización para indices o estadísticas?

Estas en el tema de Existe alguna optimización para indices o estadísticas? en el foro de SQL Server en Foros del Web. Hola que tal? Tengo una tabla en SQL server y tiene unos 15 campos, 5 indices NONCLUSTERED y 1 CLUSTERED. La tabla hoy en día ...
  #1 (permalink)  
Antiguo 15/03/2016, 14:18
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 10 años, 7 meses
Puntos: 15
Existe alguna optimización para indices o estadísticas?

Hola que tal?


Tengo una tabla en SQL server y tiene unos 15 campos, 5 indices NONCLUSTERED y 1 CLUSTERED.

La tabla hoy en día tiene 700 millones de registros y crece en 12 millones mensuales (Es un HISTÓRICO).

Un índice NONCLUSTERED en la última carga mostró 22% de Fragmentación y fue reorganizado (TARDÓ 2 HORAS).

La actualización de estadísticas demoró 1 hora 30.



Existe algún proceso, configuración de la base de datos o algo que permita realizar estos procesos más rápido?????
  #2 (permalink)  
Antiguo 15/03/2016, 15:40
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 15 años, 5 meses
Puntos: 774
Respuesta: Existe alguna optimización para indices o estadísticas?

una solucion magica o solo cambiar un parametro y que quede mas rapido el index maintenance no existe :P, se puede minimizar y hay diferentes opciones, como por ejemplo usar filegroups, hacer los mantenimientos por tablas, realizarlo dependiendo el numero de paginas, distribuir los indices para en lugar de tener un proceso de 2 horas tengas 4-5 procesos de 15 min...........
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 15/03/2016 a las 15:49
  #3 (permalink)  
Antiguo 15/03/2016, 17:26
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 14 años, 6 meses
Puntos: 180
Respuesta: Existe alguna optimización para indices o estadísticas?

¿Y particionar la tabla?
__________________
MCTS Isaias Islas
  #4 (permalink)  
Antiguo 16/03/2016, 00:36
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 15 años, 5 meses
Puntos: 774
Respuesta: Existe alguna optimización para indices o estadísticas?

Tambien amigo iislas ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 16/03/2016, 06:17
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 10 años, 7 meses
Puntos: 15
Respuesta: Existe alguna optimización para indices o estadísticas?

Cita:
Iniciado por Libras Ver Mensaje
una solucion magica o solo cambiar un parametro y que quede mas rapido el index maintenance no existe :P, se puede minimizar y hay diferentes opciones, como por ejemplo usar filegroups, hacer los mantenimientos por tablas, realizarlo dependiendo el numero de paginas, distribuir los indices para en lugar de tener un proceso de 2 horas tengas 4-5 procesos de 15 min...........
Existen varias tablas particionadas y estas no entran en ese grupo por "políticas" del DBA, pero a que te refieres con "distribuir los indices" ???

Si uso filegroups y también el mantenimiento es por tablas.
  #6 (permalink)  
Antiguo 16/03/2016, 08:11
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 15 años, 5 meses
Puntos: 774
Respuesta: Existe alguna optimización para indices o estadísticas?

Sip, digamos en lugar de aplicar el mantenimiento a todos los indices solo lo aplicas a aquellos indices con mas uso, aunque te dire 2 horas para 700 millones de registros es algo normal, ahora si quieres darle mas rapidez a tu proceso podrias hacer la reindexacion poniendo la base de datos offline :P
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 22/03/2016, 07:16
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 10 años, 7 meses
Puntos: 15
Respuesta: Existe alguna optimización para indices o estadísticas?

Dwaaaaa el fin de semana una actualización de estadísticas tardó 40 horas :S

La tabla tiene unos 360 millones de registros
  #8 (permalink)  
Antiguo 23/03/2016, 09:41
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 14 años, 6 meses
Puntos: 180
Respuesta: Existe alguna optimización para indices o estadísticas?

La base de datos, ¿cuantos archivos MDF y LDF tiene?, ¿Estan en un disco diferente, cada archvo? y claro, que no esten en el disco C:

Espero respuesta
__________________
MCTS Isaias Islas
  #9 (permalink)  
Antiguo 23/03/2016, 10:17
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 10 años, 7 meses
Puntos: 15
Respuesta: Existe alguna optimización para indices o estadísticas?

Esto???
  #10 (permalink)  
Antiguo 23/03/2016, 10:49
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 15 años, 5 meses
Puntos: 774
Respuesta: Existe alguna optimización para indices o estadísticas?

Ok muchos mdf y ndf y un ldf, la tabla "grande" no tiene particiones porque no entra en las politicas del DBA, por lo que asumo a que tu eres el DBA jr o un developer cierto? y porque no entra en las "politicas" para particionamiento? tu DBA tiene idea de que cuando un indice esta particionado es mas facil hacerle un mantenimiento(reorganize o rebuild) porque lo haces a nivel particion no en toda la tabla? Ahora nada mas se ve un archivo de log, porque es esto? Dices 40 horas en el mantenimiento, que tipo de mantenimiento se ejecuto y como se ejecuto? Ahora 400 millones de registros es algo manejable todo depende de como se hagan los mantenimientos y claro quien es el DBA que esta a cargo ;)..........


Creo que necesitan un consultor que les haga ver sus errores, cobro barato por si te interesa ;) jejejejeje
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 23/03/2016 a las 10:54
  #11 (permalink)  
Antiguo 23/03/2016, 13:37
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 10 años, 7 meses
Puntos: 15
Respuesta: Existe alguna optimización para indices o estadísticas?

Cita:
Iniciado por Libras Ver Mensaje
Ok muchos mdf y ndf y un ldf, la tabla "grande" no tiene particiones porque no entra en las politicas del DBA, por lo que asumo a que tu eres el DBA jr o un developer cierto? y porque no entra en las "politicas" para particionamiento? tu DBA tiene idea de que cuando un indice esta particionado es mas facil hacerle un mantenimiento(reorganize o rebuild) porque lo haces a nivel particion no en toda la tabla? Ahora nada mas se ve un archivo de log, porque es esto? Dices 40 horas en el mantenimiento, que tipo de mantenimiento se ejecuto y como se ejecuto? Ahora 400 millones de registros es algo manejable todo depende de como se hagan los mantenimientos y claro quien es el DBA que esta a cargo ;)..........


Creo que necesitan un consultor que les haga ver sus errores, cobro barato por si te interesa ;) jejejejeje

Jajjaja muchas gracias por el ofrecimiento veremos que se hará xD

Yo solo soy un desarrollador encargado de cargas y algunos SSIS, y el problema de particionamiento es por que estamos escasos de discos y espacio, por lo que le dan prioridad a tablas más grandes para ello. Lo del log no tengo idea xD.

Las 40 horas fueron al ejecutar
Código SQL:
Ver original
  1. 'UPDATE STATISTICS TABLA WITH FULLSCAN';

Etiquetas: alguna, indices, optimización, registros, server, sql, tabla
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 18:07.