sql >> Database >  >> RDS >> Mysql

hoe een geolocatiedatabase in mysql te optimaliseren voor zoeken/query's op euclidische afstand?

U zult moeite hebben met het optimaliseren voor dat soort zoekopdrachten. Een betere optie zou zijn om een ​​selectiekader te berekenen uit de (x,y) coördinaten en delta doorgegeven. Zoek vervolgens naar locaties waar de coördinaten in dat vak vallen. Die zoekopdracht zou veel eenvoudiger zijn en zou alle indexen kunnen gebruiken die u op de x- en y-velden heeft.

Natuurlijk zijn de resultaten van die zoekopdracht niet zo exact, omdat het een selectiekader is in plaats van een cirkel. Als u betere resultaten wilt, kunt u de resultaten van de begrenzingsvakquery nemen en vervolgens de langzamere euclidische methode gebruiken om de resultaten eruit te filteren die niet in de cirkel vallen.



  1. Hoe kan ik (Mijn)SQL-statements controleren op syntactische correctheid?

  2. PG::UndefinedTable:ERROR:relatie bestaat niet met een juiste Rails-naamgeving en -conventie

  3. MySQL-query om de vorige maand te berekenen

  4. kan geen verbinding maken met mysql docker vanuit lokaal