Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/11/2014, 16:49
AitorLopez
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 8 meses
Puntos: 6
Velocidad con consulta

Hola. Tengo estas consulta

Código MySQL:
Ver original
  1. SELECT count(*) distanciaPunto1Punto2
  2.             FROM (SELECT Id_Empleados, (ACOS(
  3.             SIN(RADIANS('41.385064')) *
  4.             SIN(RADIANS(tbl.Ib_Latitud))
  5.             + COS(RADIANS('41.385064'))
  6.             * COS(RADIANS(tbl.Ib_Latitud)) *
  7.             COS(RADIANS('2.173403')
  8.             - RADIANS(tbl.Ib_Longitud))) * 6378) distanciaPunto1Punto2
  9.             FROM empresas_y_negocios_empresas as tbl) T1
  10.             WHERE distanciaPunto1Punto2 <= '4.021'
  11.             AND Id_Empleados = '1'

que directamente en mysql sobre 850000 registros tarda en ejecutarse 15 segundos, tiempo totalmente inaceptable.

Solicito vuestra ayuda para poder acortar al máximo ese tiempo de ejecución. A parte de indexar campos (que ya está), no se me ocurre otra cosa que ejecutarla como un procecimiento almacenado, pero realmente no se si mejorará el tiempo y sobre todo, no tengo practicamente idea sobre procedimientos.

En fin, no se que os parece.