Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/12/2012, 03:32
Avatar de Malenko
Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Optimización de consultas

Yo trabajo en una empresa relacionada con el tema de telefonia que tiene millones de registros diarios y las consultas tardan segundos. Las dos consultas iniciales son una aberración, no puedes hacer un "SELECT *" porque te estás traiendo toda la información de la bbdd y seguramente no necesitas todos los campos.

Además, en lugar de hacer dos selects y el foreach, podrías ahorrarte faena y tiempo haciendo una "inner join". Por último, una opción muy buena para reducir el tiempo es trabajar contra vistas que tengan los campos justos y necesarios y que ataquen a las tablas por detrás.

Y se me olvidaba! Incluye todo el código en un store procedure. De esta forma el plan de ejecución de la consulta solo se compila una vez. Es decir, la primera vez que lances la consulta te puede ir un poco lenta, pero las siguientes irá como el rayo. En cambio al realizar las consultas directamente en SQL, el plan de ejecución se ha de compilar cada vez que lo ejecutas.
__________________
Aviso: No se resuelven dudas por MP!