![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola
Yo no he dicho que sea problema de diseño de la base de datos. He dicho que yo lo consideraria un problema de diseño de la aplicación. Es perfectamente correcto tener una tabla con cientos de miles o millones de registros. Lo que no me parece correcto es intentar llevar todos estos registros a un cliente. Supongamos que es la tabla de facturas. Para que querrá un usuario tener 100,000 facturas a la vista (si es que pudiera verlas de alguna forma). Lo que regularmente se hace es pedir al usuario que acote un "rango" de facturas que le interese. Entonces podrias tener solamente las facturas de ayer. Digamos 100. Si normalmente son mas de 300... entonces le pedis que te indique si las de la mañana o las de la tarde.... en fin.... He puesto solo un ejemplo tonto... puede ser que lo que le interese sean las facturas de cierto vendedor... o las que incluyan cierto producto, siempre dentro de un rango de fechas. La diferencia del porque el locate te funciona mejor con paradox que con IB, en principio, son que PDX al ser una base de datos plana, el BDE puede aprovechar un indice para "acercarse" al registro que busca. En el caso de Interbase, los 100,000 registros tienen que viajar primero al cliente (en primer lugar saturando la red). Luego, aun cuando tengas indices en el servidor, estos no pueden ser aprovechados por la aplicación de esta forma. En cambio si haces un Select con un predicado que filtre los registros en el servidor los indices si serán aprovechados. Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#2
|
|||
|
|||
|
Gracias por tu ayuda tal vez no me eh explicado bien pero no lo estoy haciendo sobre un servido aun.
Ahora bien explicando un poco acerca de mi aplicacion el motivo por el cual se desea tener toda la informacion es porque el cliente asi lo necesita para tomar deciciones, ellos manejan gran cantidad de materiales, algunos de ellos compuestos por otros materiales. Esa es la razon por la cual no he hecho un select condicionado, ni eh puesto filtros, donde lo estoy utilizando es en un catalogo! Realmete lo que menos me preocupa es traer la informacion sino cuando deseo buscar sobre el grid alguno de los materiales el metodo locate simplemente se pone lento! Baje la cantidad de registros solo por si acaso de 100,000 a solamente 6mil y tarda lo mismo! Solo deseo posicionar el cursor del grid sobre el material que deseo encontrar. Me preocupa que interbase no pueda utilizar los recursos del BDE como lo hacen otras bases de datos, si ya lo hice en paradox y funciono no entiendo porque no se puede hacer en interbase! Gracias! |
|
#3
|
|||||||
|
|||||||
|
Cita:
Cita:
Cita:
Cita:
si te preocupas un poco por la cantidad de datos que tu programa tendrá que manejar, seguro obtendrias mejores resultados. Cita:
Cita:
Cita:
Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#4
|
||||
|
||||
|
Hola,
Cita:
Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|