Ver Mensaje Individual
  #3  
Antiguo 25-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 28
Lepe Va por buen camino
El problema de la propiedad filter, es que trae todos los registros de la tabla y después, en el ordenador cliente, es donde aplica el filtro.

No sé qué componentes de acceso estas utilizando, pero desde luego un TTable no se debe usar.

El componente que se usa, encapsula 4 consultas SQL:

- SelectSql
Código SQL [-]
  select lo que sea from tabla where clavePrimaria = :Clave
"Clave" es un parámetro que en tiempo de ejecución le pasas el valor.

- InsertSQL
Código SQL [-]
 insert into tabla(campo1, campo2) values (:campo1, :campo2)

- DeleteSql
Código SQL [-]
 delete from table where ClavePrimria = :Clave

- UpdateSql
Código SQL [-]

  Update tabla1  set
       campo1 = :campo1,
       campo2 = :campo2)
  where ClavePrimaria = :old_Clave

Estos componentes suelen llamarse:
- TIBDataset (si usas los IBX)
- TMDODataset (si usas MDOLIB)
- etc.

(lo escribo de memoria y seguro que puede variar).

Como ves, en la cláusula where se indica la clave primaria, por tanto solo traerá un registro, y puesto que es clave primaria, estará indexado, y el acceso a él será inmediato.

De cualquier otra forma que ataques una base de datos de esas características, tendrás problemas de rendimiento.

Por supuesto sin contar que deben crearse claves primarias, índices por los campos de búsqueda muy común, Uso de Triggers / vistas / StoreProcedures / etc cuando sea necesario.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita