PREGUNTA
|
Cordial saludo
Buenos días , señor Gustavo
Mi nombre es Fabio Hernández , trabajo en el área de desarrollo .net y bases de datos sql server , vi un blog suyo muy interesante y habla del tema de particionamiento de tablas SQL SERVER PARA TODOS Gustavo Ricardo Herrera : PARTICIONAR TABLAS EN 5 PASOSEn la empresa donde trabajo utilizan sql server standard edition y no tiene disponible la opcion de particionar, que puedo hacer si tengo una tabla de 10 millones de registros , en donde hay información histórica desde el año 2000 hasta el 2014, normalmente la información consultada es del 2012-2014 , pero en la tabla esta todo el historico, como no puedo particionar por la version del sql server que otra opcion podria hacer
Muchas gracias .
Att
xxxxxxx
Buenos días , señor Gustavo
Mi nombre es Fabio Hernández , trabajo en el área de desarrollo .net y bases de datos sql server , vi un blog suyo muy interesante y habla del tema de particionamiento de tablas SQL SERVER PARA TODOS Gustavo Ricardo Herrera : PARTICIONAR TABLAS EN 5 PASOSEn la empresa donde trabajo utilizan sql server standard edition y no tiene disponible la opcion de particionar, que puedo hacer si tengo una tabla de 10 millones de registros , en donde hay información histórica desde el año 2000 hasta el 2014, normalmente la información consultada es del 2012-2014 , pero en la tabla esta todo el historico, como no puedo particionar por la version del sql server que otra opcion podria hacer
Muchas gracias .
Att
xxxxxxx
CONTESTACION
Que tal Alejandro, saludos desde BsAs.
Perdón por la demora en contestarte, estoy muy atareado por estos dias.
Lo que te ocurre a Ti le ocurre a mucha gente... Van mis consideraciones...
- Se te ha abierto una oportunidad de solicitarles a los dueños de la compañía para la cual trabajas el upgrade hacia una versión más profesional de Sql Server. Has pie en la ecuación costo/beneficio y trata pues de explicarles - en el lenguaje más sencillo posible - uno de los problemas a los que se enfrenta la compañía (perfromance pobre de sus bases de datos), por no tener la versión adecuada de Sql Server.
- Una tabla de 10 millones de registros es, a priori, una tabla que no tendría que particionarse, al menos por la cantidad de registro que refieres. Recuerda siempre que el mantenimiento de una partición es una tarea más a futuro...
- Entiendo que tu problema pasa por otro lado...., veamos...
Pienso que deberías hacer pie en algunos de los siguientes items antes de pensar en particionar.
- Determinación de las queries que más tiempo tardan en resolverse (hay un script en mi blog para ello)
- Estudio de los planes de ejecución de dichas queries. Apuesto hacia falta de un indexado apropiado o de una lógica "pobre" en las queries a las que te hago referencia.
Por otra parte, desconozco si dispones de, al menos 3 discos físicos para poder distribuir los archivos de datos, log e índices en distintos discos y aprovechar de ese modo la lecto escritura paralela del sql server.
Una última solución puede ser, yo no te la aconsejo, el crear una base de datos por año y luego simplemente joinear las consultas.
Entiendo que habiendo revisado los anteriores puntos (planes de ejecución, indexado y lógica de las queries), encontrarás la solución, sin precisar hacer esto último.
Suerte y quedo atento ante cualquier inquietud.
Saludos desde Buenos Aires, Gustavo Herrera.
No hay comentarios:
Publicar un comentario