Debo aclarar que las relaciones uno a uno, no son una forma 'normal', esto significa que durante un proceso de normalización deberían desaparecer las relaciones uno a uno... excepto cuando se 'desnormaliza' conscientemente por asi convenir, como es este caso.
Problema: Tengo una aplicación de ventas, donde en últimos tiempos el proceso de seleccionar las facturas pendientes de pago se ralentizo considerablemente, llegando hasta un par de minutos. Este proceso consta de una simple consulta de la forma:
Select IDVenta, Fecha, NoDoc, NoDoc, Saldo, Total From TbaVenta Where (IDCliente=12345) And ((TipoDoc='F') Or (TipoDoc='R') Or (TipoDoc='N') ) And (Afecto<>0) And (Saldo>0)
Esto es, selecciona todas las facturas del cliente 12345 que son Facturas, Remisiones o Notas afectadas y que tiene Saldo.
La columna IDSaldo de la tabla TbaVenta esta indexada, no así las columnas TipoDoc, Afecto y Saldo
Problema: Tengo una aplicación de ventas, donde en últimos tiempos el proceso de seleccionar las facturas pendientes de pago se ralentizo considerablemente, llegando hasta un par de minutos. Este proceso consta de una simple consulta de la forma:
Select IDVenta, Fecha, NoDoc, NoDoc, Saldo, Total From TbaVenta Where (IDCliente=12345) And ((TipoDoc='F') Or (TipoDoc='R') Or (TipoDoc='N') ) And (Afecto<>0) And (Saldo>0)
Esto es, selecciona todas las facturas del cliente 12345 que son Facturas, Remisiones o Notas afectadas y que tiene Saldo.
La columna IDSaldo de la tabla TbaVenta esta indexada, no así las columnas TipoDoc, Afecto y Saldo
Y aquí tenemos una razón para usar una relación uno a uno!
No hay comentarios.:
Publicar un comentario