Bonjour,
Actuellement, je fais cette requête :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT lat, lon, ( 6366 * ACOS( COS( RADIANS( 49.188005 ) ) * COS( RADIANS( lat ) ) * COS( RADIANS( lon ) - RADIANS( - 0.3661 ) ) + SIN( RADIANS( 49.188005 ) ) * SIN( RADIANS( lat ) ) ) ) AS distance FROM Entreprises WHERE lat BETWEEN 49.1 AND 49.3 AND lon BETWEEN -1 AND 0
Celle-ci s'éxécute en 0,0015 sec, ce qui me semble assez raisonnable.
La même requête avec un tri de distance :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT lat, lon, ( 6366 * ACOS( COS( RADIANS( 49.188005 ) ) * COS( RADIANS( lat ) ) * COS( RADIANS( lon ) - RADIANS( - 0.3661 ) ) + SIN( RADIANS( 49.188005 ) ) * SIN( RADIANS( lat ) ) ) ) AS distance FROM Entreprises WHERE lat BETWEEN 49.1 AND 49.3 AND lon BETWEEN -1 AND 0 ORDER BY `distance` ASC
Et elle s'éxécute en plus de 2 secondes, ce qui ne va plus du tout
Auriez-vous une idée d'optimisation ?
Merci
Partager