FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
que es más rápido query o filtrar tabla?
Hola amigos del foro, según yo, la query, pero me gustaría saber por que. Gracias por leer este hilo.
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC. |
#2
|
||||
|
||||
Suponiendo que la base de datos sea cliente servidor, será muchos más rápido la consulta, porque solamente traerá del servidor los registros que obtenga la consulta, es decir el tiempo de respuesta irá en proporción a los datos que obtenga.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
||||
|
||||
si marcos es cliente servidor, ahora mi duda al hacer esto:
al usar tablas (en este caso el componente ttable), el filtro trae solo los registrosfiltrados del servidor, o a todos?, o sea ttable siempre los trae a todos y después se filtran?.
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC. |
#4
|
||||
|
||||
Habría que ver las características de la base de datos con filtros, pero éstos generalmente lo que hacen es no mostrar los registros que no cumplen las normas de filtrado pero viajen todos por la red..
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#5
|
||||
|
||||
Cita:
Saludos
__________________
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! |
#6
|
||||
|
||||
Cita:
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC. |
#7
|
|||
|
|||
No me acabo de aclarar con lo que dice Lepe .
Tienes en el DataModule , todas las tablas (supongamos que usamos la paleta BDE) , y en el form ¿Qué es lo que tienes ? ¿Tablas también ? ¿DataSource apuntando a una tabla? en el datamodule un bucle abre todas las tablas ¿Qué tipo de función abre todas las tablas ,podrias ponerla? Pero si estan todas las tablas abiertas , cuando se cierran y como ?? Sobre los Tquerys no pregunto , por que esto si parece claro , se abren y cierran cuando se necesiten . |
#8
|
||||
|
||||
Hola
Mi opinion como aprendiz es: Usar solo el conector de la base de datos en el datamodule Usar Tablas solo en caso extremadamente necesario o por comodidad Usar Query o sentencias sql lo mas que se pueda. A nivel de revision de codigo o forms es mucho mas facil cuando se tiene el componente (Table o Query) en el form, de esa manera me organizo y me funciona, que mas da tener cuantos componentes de tablas o querys quieras en el form, son invisibles y no me molestan. Creo que es importante abrir y cerrar la tabla que no se este ocupando, realmente hace muy lento el programa si se tienen todas abiertas, el mio tiene mas de 50 y con mucha informacion, si abriera todas las tablas a la vez me tomaria todo el cafe de la cafetera antes de que el programa arrancara, no tengo tanta paciencia. Que consuma recursos o no, la verdad no importa, cuanto vale el tiempo, si uno tiene todas las tablas abiertas y hay un bajo de tension se puede fastidiar la base de datos completa, para mi es un riesgo. Por otra parte para David, la tabla trae toda la informacion que contenga, si es poca, usala, de otro modo te aconsejo, como lejitimo aprendiz, usar querys, son mas rapidas y seguras. Saludos. |
#9
|
||||
|
||||
Cita:
Por otro lado, la invisibilidad es realtiva. Ciertamente no son componentes que se vean en el formulario, pero sí en el código, que pronto se convierte en una mezcla de código visual para la interfaz de usuario, y código de negocios, la lógica de la aplicación. Llega un momento en que cualquier cambio, sea en la lógica o sea en la interfaz provoca efectos secundarios en la otra parte y el mantenimiento de la aplicación se hace muy pesado. // Saludos |
#10
|
||||
|
||||
Estoy con Román, yo desde que salieron los DataModulos los he utilizado siempre en todas las aplicaciones.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#11
|
||||
|
||||
yo uso DataModulos, a pesar que para muchos de mis procesos me he ido por las querys que son más rápidas y más versatiles, a pesar que para algunas cosas uso TTABLE.
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC. |
#12
|
||||
|
||||
Cita:
La práctica de cada quien.
__________________
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! |
#13
|
||||
|
||||
Cita:
No dudo que tengas razón, pero para ganancia del debate sería interesante conocer en qué casos la gente prefiere poner los datasets en los formularios. // Saludos |
#14
|
||||
|
||||
Hola a todos.
Ahora mismo por necesidad del cliente, quiere tener varias ventanas abiertas de cliente, y en cada ventana quiere tener un cliente distinto. En esta situación no se pueden compartir los objetos TTable en un solo Datamodule, hay que poner las tablas y los datasources sobre el mismo Form, abrirlos al crear la ventana y cerrarlos al salir. También se ha comentado alguna vez el hecho crear un datamodule por cada Form que se tenga, así se independiza el acceso a dato de la interfaz (esto le gusta mucho a román ) para mí es demasiado. Lo cierto es que uso un Datamodule general para configurar la conexión, objeto database, tablas y consultas que si se comparten con varias ventanas, (por ejemplo un listado de clientes ordenado alfabeticamente, etc), y todos ellos si se mantienen abiertos durante toda la ejecución del programa. La rutina que abre los datasets: Tanto el TTable como los TQuerys descienden de TDBDataset del BDE, por tanto tienen los métodos Open y Close. De hecho, el TTable no implementa el método Open (ni lo sobrescribe), sino que lo hereda de sus antecesores. Ahora mismo trabajo con Firebird y MDO, no uso el BDE ni tampoco objetos TTable sino MDODatasets, pero bueno, para que se entienda lo puse así. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#15
|
|||
|
|||
Ya veo la idea , pones todas las tablas y todos los Querys en el DataModule , pones en el Form un dataSource y en codigo DataSource.DataSet.
Luego si quieres cambiar de base de datos , insertar otro DataModule , y pones las tablas y Querys con el mismo nombre que Tenian en el otro DataModule , eliminas el anterior DataModule y guardas el nuevo DataModule , con los componentes nativos de la nueva base de datos , con el mismo nombre . De esa manera , puedes cambiar de base de datos , de una manera rápida y eficaz . Lo que no me queda claro , es el momento , de abrir y cerrar tablas , en el DataModule , no es mejor abrir las tablas de cada formulario en el Evento TFormOncreate y cerrarlas en ondestroy ??? |
#16
|
||||
|
||||
Cita:
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema al filtrar un Query entre fechas | judit25 | Conexión con bases de datos | 18 | 20-04-2007 00:03:38 |
Filtrar una tabla con 2 rangos | maravert | Impresión | 2 | 30-04-2006 19:10:43 |
Filtrar Tabla | jovehe | Tablas planas | 6 | 15-09-2004 22:06:32 |
como filtrar una tabla | andre navarrete | Varios | 5 | 11-08-2004 06:17:19 |
Filtrar una tabla | Tangela | Conexión con bases de datos | 1 | 29-05-2003 00:56:37 |
|