Me gustaría saber...

09/10/2008 - 10:20 por msnews.micrsoft.com | Informe spam
TEngo un nuevo proveedor de informática que nos va a programa el ERP.
Ayer tuvimos la primera reunión técnica y nos comentaban que querían dividir
una de las tablas principales (miles de registros anuales) en varias según
el año.
Argumentaban que esto optimiza las busquedas ya que no tiene que recorrer
todos los años de una tabla (imaginemos que 300.000 registros) y solamente
tenía que recorrer según el año (a lo mejor el año actual es de 40.000).
Lo que hace el SQL Server 2005 internamente no lo se, pero, esto no tiene
gran sentido ¿verdad?. Si indexamos la fecha y hacemos busquedas por año
(consulta)... ¿da igual que la tabla esté en una o en varias, no?
Creo que este pensamiento de dividir las tablas ahora no tiene mucho sentido
¡no?
Alguien podria darme un argumento mas técnico que pudier autilizar...
Muchas gracias.,
 

Leer las respuestas

#1 Rubén Garrigós
09/10/2008 - 11:56 | Informe spam
Como bien dices, no tiene mucho sentido y menos para una cantidad de
registros tan pequeña como comentas. El particionado, en general, se suele
recomendar solo a partir de bastantes millones de registros. En todo caso
tendreis que ver también el tamaño total de dicha tabla por si incluye muchos
datos por fila (por ejemplo ficheros de gran tamaño en un BLOB) en cuyo caso
si podrías pensar en particionar incluso verticalmente si fuese necesario.

Creo que una buena estrategia de indexado en tu caso de aplicacion ERP sería
más que suficiente. Desgraciadamente quizás te comentaron eso para no tener
que indexar correctamente tu base de datos y tirar de scans completos de
particion en cada consulta.

Rubén Garrigós
Solid Quality Mentors

"msnews.micrsoft.com" wrote:

TEngo un nuevo proveedor de informática que nos va a programa el ERP.
Ayer tuvimos la primera reunión técnica y nos comentaban que querían dividir
una de las tablas principales (miles de registros anuales) en varias según
el año.
Argumentaban que esto optimiza las busquedas ya que no tiene que recorrer
todos los años de una tabla (imaginemos que 300.000 registros) y solamente
tenía que recorrer según el año (a lo mejor el año actual es de 40.000).
Lo que hace el SQL Server 2005 internamente no lo se, pero, esto no tiene
gran sentido ¿verdad?. Si indexamos la fecha y hacemos busquedas por año
(consulta)... ¿da igual que la tabla esté en una o en varias, no?
Creo que este pensamiento de dividir las tablas ahora no tiene mucho sentido
¡no?
Alguien podria darme un argumento mas técnico que pudier autilizar...
Muchas gracias.,



Preguntas similares