FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Optimizacion Base de Datos
Saludos mis queridos amigos del Club Delphi..
Tengo el siguiente dilema y me gustaria que ustedes me den su siempre sabia opinion. TEngo una base de datos en SQL Server 2000 en esta eh exportado tres tablas desde DBase donde Cada Tabla tiene 2 millones de Registros. el asunto es que primero quisiera unir todos los registros en una sola tabla ya que voy a tener que consultar todos los registros en una sola consulta. apenas pude crearle el indice a una de las tablas porque cuando intento hacerlo en las otras dos se me cuelga el servidor sql. Ahora bien la pregunta es: ¿ Esta bien unirlos en una sola tabla? ¿si es asi.. existe alguna forma de que yo pueda optimizar la tabla para que la consulta no se haga superrrrr lenta? o simplemente la dejo como esta en tres tablas diferentes y hago la consulta tabla por tabla? que me recomiendan ustedes? Muchas gracias por Adelantado... Atentamente Jose Manuel. pd. por si las moscas pienso hacer la consulta en Delphi 7
__________________
El conocimiento es un Patrimonio Universal.... |
#2
|
||||
|
||||
Saludos
Eso depende de que informacion contenga cada tabla y/o de que informacion deseas consultar, yo supongo que las tablas tienen la estructura de los campos iguales. Lo de consultar; Hazlo con un rango, sin traer todos los registros y campos.
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#3
|
|||
|
|||
PUes tienes razon vtdeleon las tablas tienen exactamente la misma estructura. Resulta que estaban en DBase y supongo (no conozco mucho si dbase tiene algunas limitaciones en cuanto a capacidad de registro se refiere) que tuvieron que dividirlas en tres porque son unos 7 millones de registro.
el asunto es tratar de ver si existe alguna forma de optimizarla porque ya estoy uniendolas en una sola y francamente me da hasta cierto miedo que el rendimiento y desempeño aun en SQLServer sea lento.
__________________
El conocimiento es un Patrimonio Universal.... |
#4
|
||||
|
||||
Saludos
Con Dbase, no impota que utilices sentencias sql, filtros, o lo que sea para obtener cierta cantidad de registros, éstos siempre traerán tooooda la información y despues aplican el filtro. Lo cual conlleva a un bajo rendimiento. En MSSQL y en cualquier otro respetable (Oracle, IB/FB, MySQL,..) es diferente. Ya que éstos ofrecen solo el servicio o la petición que el cliente demande. Solo lo necesario. Imagino que nadie quiere ver toda la información (7 millones de registros). Seguro que solo quieren ver una parte de la información y mediante una sentencia Sql bién estructurada, pidiendo solo lo necesario, se peude llegar a optimizar mucho el flujo de información y el rendimiento.
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#5
|
||||
|
||||
Es innecesario unir en una sola tabla. Para ello puedes crear una vista (que hace que virtuamente paresca una tabla).
No se si usas los componentes de ADO, pero en ese caso (o en cualquiera libreria relativamente moderna de acceso a sql) puedes crear un recordset de solo lectura y hacia adelante (read only, forward) y con los de ADO si lo pones la propiedades de ubicacion en el servidor deberia dar la lectura mas veloz posible.
__________________
El malabarista. |
#6
|
|||
|
|||
Gracias por Responder vtdelon y mamcx.
Para vtdeleon te explico que ya no estoy utilizando DBase solo lo puse como referencia para explicar desde el principio. para mamcx no eh podido hacerlo ni siquiera como me explicaste, de hecho ni siquiera en el servidor me responde, o sea desde el mismo ConsoleManager se me cuelga cuando intento hacer una consulta por ejemplo de 2 o 3 registros. Eso me tiene preocupado..... porque sinceramente necesito resolver ese problema...
__________________
El conocimiento es un Patrimonio Universal.... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Llenado de Base de datos | Luis Castillo | Firebird e Interbase | 1 | 16-01-2006 20:52:36 |
Copiar una tabla a otra base de datos | noe | Firebird e Interbase | 4 | 09-03-2005 17:37:47 |
Problemas al conectar una tabla ADO a una base de datos de Access que posee contraseñ | Roger_Fernandez | Conexión con bases de datos | 5 | 28-02-2005 16:46:29 |
Diseño de la Base de Datos | gluglu | Conexión con bases de datos | 7 | 09-02-2005 18:04:54 |
¿Siempre hay que poner la ruta completa de la base de datos que está en el servidor? | Al González | Firebird e Interbase | 2 | 12-05-2004 22:06:25 |
|