Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-06-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Por cierto, es una pregunta para los Masters de IB/FB relacionada con esto. ¿Se puede ver el plan de ejecución de la consulta en algun sitio? ¿Alguna herramienta externa? ¿IBConsole? ...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #2  
Antiguo 22-06-2007
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 23
Delfino Va por buen camino
La causa de la lentitud esta aqui :
Código SQL [-]
Left join maestro m on m.idTienda = d.idtienda and m.idRefer = d.idRefer;
Prueba a quitar el left a ver q pasa..
Cita:
Se puede ver el plan de ejecución de la consulta en algun sitio?
Si, con el IBExpert, por lo menos, y se vera claramente q no utilza los indices, si no q recorre la tabla detalle secuecialmente, de alli la lentitud..
__________________
¿Microsoft? No, gracias..

Última edición por Delfino fecha: 22-06-2007 a las 12:32:13.
Responder Con Cita
  #3  
Antiguo 22-06-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
He estado buscando y he encontrado una aplicación llamada InterBase/Firebird Development Studio que incluye una utilidad llamada Query Analizer que al parecer ayuda en la optimización de las sentencias SQL. Es de pago pero tiene una versión de evaluación.

En cuanto a lo de ver la planificación de la ejecución, con MySQL se usa la sentencia EXPLAIN. Por ejemplo:
Código SQL [-]
EXPLAIN SELECT * FROM tabla
Te devuelve una tabla con distintos campos.

No sé si esto puede servir, porque he estado buscando y sólo encuentro explicaciones para MySQL o, como mucho, esta explicación en inglés sobre los índices de InterBase/Firebird.
Responder Con Cita
  #4  
Antiguo 22-06-2007
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
El que yo uso desde hace años es el Interbase PlanAlyzer, muy útil.
Responder Con Cita
  #5  
Antiguo 22-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
al menos en IB Expert Personal, me dice que el plan de ejecución no se puede ver.

En Marathon (openSource) si se ve... otra cosa es entender cada detalle que dice ¿alguna lectura recomendad? Asias

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 22-06-2007
Gregory Mazon Gregory Mazon is offline
Miembro
 
Registrado: jun 2003
Posts: 22
Poder: 0
Gregory Mazon Va por buen camino
Gracias por todos sus comentarios

ya estube haciendo pruebas con lo que me han comentado, ya le quite la funcion BETWEEN tal como lo dice eduarcol, ya le quite el Left tal como dice Delfino. Me falta hacer la prueba con Firebird, y ya cheque que mis indices esten correctos, y si es verdad mejoro mi consulta en vez de tardarse 10 minutos como antes ahora se tarda 3 minutos, no se si todavia se pueda mejorar con Firebird lo voy probar, pero aqui una de las cosas q mas me preocupan es que estos 3 millones de registros son solo de informacion de solo 5 meses (es el tiempo que lleva funcionando el sistema), que va ha pasar con informacion acumulada de 1 o 2 años, por q pretenden tener reportes comparativos de cuanto se vendio el 21/jun/07 vs. el 21/jun/08.

Cita:
Empezado por Neftali
Revisa el plan de ejecución si es posible para ver lo que se está haciendo y los tiempos de las distintas operaciones.
Que es el plan de ejecución como los debo de interpretar?
Utilizo el IB Expert Personal Edition y cuando hago mi consulta en la parte inferior me regresa:
Código:
Plan
PLAN SORT (MERGE (SORT (DR REM INDEX (REMISION_IDX1)),SORT (JOIN (DR DR NATURAL,DR ART INDEX (RDB$PRIMARY1)))))

Adapted Plan
PLAN SORT (MERGE (SORT (DR REM INDEX (REMISION_IDX1)),SORT (JOIN (DR DR NATURAL,DR ART INDEX (PK_ARTICULOS)))))
Responder Con Cita
  #7  
Antiguo 22-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
En la propia ayuda de IB Expert viene que al usar un plan "NATURAL" realmente no se está usando índices, por tanto sería una consulta NO optimizada.

Según explica hay veces que es mejor no usar índices (aún cuando existan) porque la tabla es pequeña y el uso del índice lo hace tardar más.

Como ves yo ando buscando información sobre el tema, pero no puedo hablar mucho.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 25-06-2007
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 23
Delfino Va por buen camino
Puedes poner el plan de antes de quitar el left y despues? asi podremos ayudarte a leerlo y interpretarlo,
como dice lepe, natural significa q escanea todas las filas,
basicamente en un plan la informacion mas valiosa es cuando un indice se usa o no, y por cierto usando los indices adecuadamente daria igual q cantidad de registros hay, el acceso es directo..
__________________
¿Microsoft? No, gracias..

Última edición por Delfino fecha: 25-06-2007 a las 16:13:46.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta Super Lenta AGAG4 SQL 4 03-04-2006 19:36:50
Primera consulta, mas lenta que el caballo del malo papulo Conexión con bases de datos 20 23-09-2005 13:46:24
Impresion lenta, muy lenta... Perio Impresión 2 20-05-2005 13:10:00
Consulta muy lenta Walterdf Conexión con bases de datos 2 25-08-2004 18:37:57
lenta la consulta. digital Conexión con bases de datos 2 10-09-2003 15:38:13


La franja horaria es GMT +2. Ahora son las 03:49:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi