![]() |
![]() |
| 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
|
||||
|
||||
|
Ok, buenas noches,
Se realizaron algunas modificaciones con la sugerencia del ultimo post (espericueta)y quedo de la siguiente manera: Código SQL [-] select d.ruta as RUTA,d.codigo_do as CODIGO_DO,sus.nombre_fiscal as NOMBRE, d.descripcion as DIRECCION, t1.lectura, t2.lectura, (t1.lectura-t2.lectura) as Consumo, t1.fecha, t2.fecha from Direccion_operacional d left outer join suscriptores sus on sus.id = d.id_suscriptor left outer join lecturas t1 on t1.codigo_do=d.codigo_do left outer join lecturas t2 on t2.codigo_do=d.codigo_do where (t1.fecha= :fecha1 and t2.fecha= :fecha2) and (d.tipo_tarifa=:tarifa) and (d.ruta>=:ruta1 and d.ruta<=:ruta2) Cabe destacar que cuando se le da un rango a la ruta entre 1 y 50, dicha consulta dura demasiado tiempo (mas de 30 minutos). La cantidad de registro por cada tabla es la siguiente: tabla: DIRECCION_OPERACIONAL Numero de Registros: 4632 Tabla: LECTURAS Numero de Registros: 775856 Tabla: SUSCRIPTORES Numero de Registros: 4424 Realmente no consigo acelerar este procedimiento. Gracias por su atencion. |
|
#2
|
||||
|
||||
|
El motivo de la lentitud de dicha consulta puede deberse a una condición de estos factores:
1. Joins. Demasiados joins anidados y consultas de agrupación demoran más tiempo que otras sentencias. 2. Una mala aplicación de índices. Los campos con los que trabaja la consulta tienen índices. Crear indices para algunos de dichos campos acela las consultas. Me parece raro que demore tanto tiempo, analiza estos factores (sobre todo el segundo) No son demasiados los registros como para que se demore tanto... otro factor que se me ocurre (aunque improbable) es que sea el equipo hardware que no posee la suficiente capacidad de memoria/procesamiento para proceder con la consulta. Por el momento más no se me ocurre. Saludos, |
|
#3
|
||||
|
||||
|
Buenos dias, de momento no tengo creado ningun tipo de indice, voy a trabajar con eso ya que nunca lo he hecho y luego escribo los comentarios. Gracias por tu atencion. Si tienen alguna sugerencia, les agradezco. De antemano muchas gracias.....
|
|
#4
|
||||
|
||||
|
Cita:
Hasta Luego .-
__________________
No todo es como parece ser... |
|
#5
|
||||
|
||||
|
Buenos dias,
Primero que nada quiero agradacer a todas las personas que regalaron una pequeña parte de su valioso tiempo. Y segundo la conclusion en que se llegó por nuestra parte a la solucion de esta situación, fue una de las recomendaciones hechas por Delphius, el cual consistió en la creación acertada de los índices para las tablas utilizadas en dicha consulta, dando como resultado la disminución escandalosa en el tiempo de resupuesta a menos de 5 segundos, por lo tanto la situación planteada incialmente queda resuelta. Muchas gracias.... ![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| como cargar varias imagenes en varios image1.picture | kurono | Varios | 2 | 15-01-2008 01:08:26 |
| Sacar el primer resultado de una consulta con varios | VRO | Firebird e Interbase | 5 | 04-05-2007 16:23:14 |
| ¿cómo puedo manejar los datos de una consulta si son varios registros? | nuri | SQL | 3 | 18-07-2005 13:02:43 |
| guardar registros en un IBDataSet que es consulta a varias tablas?? | Giniromero | Conexión con bases de datos | 4 | 14-11-2003 10:31:13 |
|