Diseño Bases datos SQL SErver

25/01/2010 - 14:00 por msnews.micrsoft.com | Informe spam
Tengo un servidor Sql Server 2005 montado en un servidor DLT 380 G5 con 5 Gb
de RAM.
Tenemos que introducir en la base datos una tabla que contemplamos que pueda
generar unas 184.000 registros anuales.
Mi pregunta es, si debo separar las tablas por años, es decir que si buscan
en la tabla del 2009 algún dato entre los 184.000 registros... es rentable
para las busquedas que pueda hacer., o, da igual que meta todas los
registros en una unica tabla.
Es decir, si se optimizarán las busquedas si divido los registros por el año
de introducción y cuando vaya a buscar un datos de ese año vaya directamente
a la tabla del año que lo contempla.
No se si me he explicado bien.
Gracias.,

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
25/01/2010 - 15:19 | Informe spam
No es necesario crear una tabla por año. No tenemos informacion de cuan ancho
son las filas de esa tabla, pero 184,000 filas no se considera una gran
cantidad para SQL Server.

En caso de ser necesario, puedes hacer uso de la nueva facilidad intorducida
con SS 2005, llamada "tablas particionadas". Con esta facilidad lo que
podemos hacer es crear multiples particiones para una tabla (hasta 1000),
donde en tu caso se almacenaran las filas por año, y solo las particiones
referenciadas por el predicado usado en la sentencia "select", seran las que
SS tocara para satisfacer el query.

Tablas e índices con particiones
http://msdn.microsoft.com/es-es/lib...88706.aspx


AMB



"msnews.micrsoft.com" wrote:

Tengo un servidor Sql Server 2005 montado en un servidor DLT 380 G5 con 5 Gb
de RAM.
Tenemos que introducir en la base datos una tabla que contemplamos que pueda
generar unas 184.000 registros anuales.
Mi pregunta es, si debo separar las tablas por años, es decir que si buscan
en la tabla del 2009 algún dato entre los 184.000 registros... es rentable
para las busquedas que pueda hacer., o, da igual que meta todas los
registros en una unica tabla.
Es decir, si se optimizarán las busquedas si divido los registros por el año
de introducción y cuando vaya a buscar un datos de ese año vaya directamente
a la tabla del año que lo contempla.
No se si me he explicado bien.
Gracias.,


.

Respuesta Responder a este mensaje
#2 Roberto Lemos
25/01/2010 - 18:58 | Informe spam
Me interesa mucho lo que explicas pues trabajo con gran cantidad de
informacion alrededor de 600,000 reg. x año, podrias decir como se usa eso
de las tablas particionadas



"Alejandro Mesa" escribió en el
mensaje news:
No es necesario crear una tabla por año. No tenemos informacion de cuan
ancho
son las filas de esa tabla, pero 184,000 filas no se considera una gran
cantidad para SQL Server.

En caso de ser necesario, puedes hacer uso de la nueva facilidad
intorducida
con SS 2005, llamada "tablas particionadas". Con esta facilidad lo que
podemos hacer es crear multiples particiones para una tabla (hasta 1000),
donde en tu caso se almacenaran las filas por año, y solo las particiones
referenciadas por el predicado usado en la sentencia "select", seran las
que
SS tocara para satisfacer el query.

Tablas e índices con particiones
http://msdn.microsoft.com/es-es/lib...88706.aspx


AMB



"msnews.micrsoft.com" wrote:

Tengo un servidor Sql Server 2005 montado en un servidor DLT 380 G5 con 5
Gb
de RAM.
Tenemos que introducir en la base datos una tabla que contemplamos que
pueda
generar unas 184.000 registros anuales.
Mi pregunta es, si debo separar las tablas por años, es decir que si
buscan
en la tabla del 2009 algún dato entre los 184.000 registros... es
rentable
para las busquedas que pueda hacer., o, da igual que meta todas los
registros en una unica tabla.
Es decir, si se optimizarán las busquedas si divido los registros por el
año
de introducción y cuando vaya a buscar un datos de ese año vaya
directamente
a la tabla del año que lo contempla.
No se si me he explicado bien.
Gracias.,


.




__________ Informacin de ESET Smart Security, versin de la base de firmas
de virus 4805 (20100125) __________

ESET Smart Security ha comprobado este mensaje.

http://www.eset.com








__________ Información de ESET Smart Security, versión de la base de firmas de virus 4805 (20100125) __________

ESET Smart Security ha comprobado este mensaje.

http://www.eset.com
Respuesta Responder a este mensaje
#3 Miguel Egea
25/01/2010 - 22:56 | Informe spam
Si tienes una edición Enterprise, puedes hacer particionado, ahora y en el
futuro, de todas formas 180.000 registros año, son muy poquitos, yo tengo
tablas sin particionar dando un rendimiento decente de 180 millones de filas
(esta si tengo que particionarla un día de estos).

En cualquier caso si la particionas, las consultas que vayan por fechas se
aprovecharan de ese particionado y eso es siempre recomendable.
Saludos Cordiales
Miguel Egea
Solid Quality Mentos
http://www.portalsql.com

"msnews.micrsoft.com" escribió en el mensaje de
noticias:u#
Tengo un servidor Sql Server 2005 montado en un servidor DLT 380 G5 con 5
Gb de RAM.
Tenemos que introducir en la base datos una tabla que contemplamos que
pueda generar unas 184.000 registros anuales.
Mi pregunta es, si debo separar las tablas por años, es decir que si
buscan en la tabla del 2009 algún dato entre los 184.000 registros... es
rentable para las busquedas que pueda hacer., o, da igual que meta todas
los registros en una unica tabla.
Es decir, si se optimizarán las busquedas si divido los registros por el
año de introducción y cuando vaya a buscar un datos de ese año vaya
directamente a la tabla del año que lo contempla.
No se si me he explicado bien.
Gracias.,


Respuesta Responder a este mensaje
#4 Miguel Egea
25/01/2010 - 23:00 | Informe spam
Con el permiso de Alejandro, aquí tienes un documento que es el pdf de unos
powerpoints en los que puedes ver detalladamente l proceso de particionado.
http://blogs.solidq.com/ES/ElRincon...0Datos.pdf


Saludos Cordiales
Miguel Egea
Solid Quality Mentos
http://www.portalsql.com

"Roberto Lemos" escribió en el mensaje de
noticias:
Me interesa mucho lo que explicas pues trabajo con gran cantidad de
informacion alrededor de 600,000 reg. x año, podrias decir como se usa
eso de las tablas particionadas



"Alejandro Mesa" escribió en el
mensaje news:
No es necesario crear una tabla por año. No tenemos informacion de cuan
ancho
son las filas de esa tabla, pero 184,000 filas no se considera una gran
cantidad para SQL Server.

En caso de ser necesario, puedes hacer uso de la nueva facilidad
intorducida
con SS 2005, llamada "tablas particionadas". Con esta facilidad lo que
podemos hacer es crear multiples particiones para una tabla (hasta 1000),
donde en tu caso se almacenaran las filas por año, y solo las particiones
referenciadas por el predicado usado en la sentencia "select", seran las
que
SS tocara para satisfacer el query.

Tablas e índices con particiones
http://msdn.microsoft.com/es-es/lib...88706.aspx


AMB



"msnews.micrsoft.com" wrote:

Tengo un servidor Sql Server 2005 montado en un servidor DLT 380 G5 con
5 Gb
de RAM.
Tenemos que introducir en la base datos una tabla que contemplamos que
pueda
generar unas 184.000 registros anuales.
Mi pregunta es, si debo separar las tablas por años, es decir que si
buscan
en la tabla del 2009 algún dato entre los 184.000 registros... es
rentable
para las busquedas que pueda hacer., o, da igual que meta todas los
registros en una unica tabla.
Es decir, si se optimizarán las busquedas si divido los registros por el
año
de introducción y cuando vaya a buscar un datos de ese año vaya
directamente
a la tabla del año que lo contempla.
No se si me he explicado bien.
Gracias.,


.




__________ Informacin de ESET Smart Security, versin de la base de firmas
de virus 4805 (20100125) __________

ESET Smart Security ha comprobado este mensaje.

http://www.eset.com








__________ Información de ESET Smart Security, versión de la base de
firmas de virus 4805 (20100125) __________

ESET Smart Security ha comprobado este mensaje.

http://www.eset.com




Respuesta Responder a este mensaje
#5 Juan Carlos Leguizamon
26/01/2010 - 20:41 | Informe spam
No sobra aclara que se requiere la versión Enterprise para esta
funcionalidad :(

"Roberto Lemos" escribió en el mensaje
news:
Me interesa mucho lo que explicas pues trabajo con gran cantidad de
informacion alrededor de 600,000 reg. x año, podrias decir como se usa
eso de las tablas particionadas



"Alejandro Mesa" escribió en el
mensaje news:
No es necesario crear una tabla por año. No tenemos informacion de cuan
ancho
son las filas de esa tabla, pero 184,000 filas no se considera una gran
cantidad para SQL Server.

En caso de ser necesario, puedes hacer uso de la nueva facilidad
intorducida
con SS 2005, llamada "tablas particionadas". Con esta facilidad lo que
podemos hacer es crear multiples particiones para una tabla (hasta 1000),
donde en tu caso se almacenaran las filas por año, y solo las particiones
referenciadas por el predicado usado en la sentencia "select", seran las
que
SS tocara para satisfacer el query.

Tablas e índices con particiones
http://msdn.microsoft.com/es-es/lib...88706.aspx


AMB



"msnews.micrsoft.com" wrote:

Tengo un servidor Sql Server 2005 montado en un servidor DLT 380 G5 con
5 Gb
de RAM.
Tenemos que introducir en la base datos una tabla que contemplamos que
pueda
generar unas 184.000 registros anuales.
Mi pregunta es, si debo separar las tablas por años, es decir que si
buscan
en la tabla del 2009 algún dato entre los 184.000 registros... es
rentable
para las busquedas que pueda hacer., o, da igual que meta todas los
registros en una unica tabla.
Es decir, si se optimizarán las busquedas si divido los registros por el
año
de introducción y cuando vaya a buscar un datos de ese año vaya
directamente
a la tabla del año que lo contempla.
No se si me he explicado bien.
Gracias.,


.




__________ Informacin de ESET Smart Security, versin de la base de firmas
de virus 4805 (20100125) __________

ESET Smart Security ha comprobado este mensaje.

http://www.eset.com








__________ Información de ESET Smart Security, versión de la base de
firmas de virus 4805 (20100125) __________

ESET Smart Security ha comprobado este mensaje.

http://www.eset.com




Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida