Ver Mensaje Individual
  #2  
Antiguo 20-09-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Reputación: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Kipow
Bueno les quiero comentar algo que me paso y me hizo quebrarme la cabeza, hasta que di con el punto.

Tenia 2 consultas generadas en 2 bases de datos identicas, en la primera demoraba 30seg y en la segunda 3ms,

revisando las estrucuras y la informacion de ambas eran identicas
Luego utilizando el IB PLANalyzer pude constatar que no estaba utlizando el mismo PLAN en ambas consulta, porque?

Mi solucion fue colocarle manualmente el PLAN a la consulta mas tardada y listo, pero esto me deja en que pensar porque puede ser que en algunas instalaciones que he realizado del mismo sistema, pueda tener este tipo de problemas.

Alguien sabe porque pasa esto?

Saludos
Efectivamente, para bases de datos iguales, pueden variar los planes.
Son varios los factores que firebird tiene en cuenta, los índices, las estadísticas de los índices implicados, incluso la cantidad de campos a devolver o el número de registros en la tabla.

Me he encontrado, a veces, con casos "inexplicables", como relatas, y con IBplanAnalizer (estupenda herramienta) he pasado horas buscando el motivo de que en una base de datos tarde una consulta 1 segundo y al día siguiente tarde 20 minutos.
Normalmente se soluciona haciendo la consulta de otra manera, poniendo antes un inner join que otro, pidiendo unos campos antes o después que otros, etc.
Otras veces, la mayoría, basta con añadir un índice nuevo y todo vuelve a la normalidad.
En fin, se trata de "afinar" al máximo, cuantos más tablas, más datos, consultas más "grandes", etc es necesario afinar más.
Responder Con Cita