sql >> Database >  >> RDS >> Mysql

Hoe de SQL-query optimaliseren met het berekenen van afstand op lengte- en breedtegraad?

Hier zijn een paar ideeën, waarvan sommige mogelijk niet van toepassing zijn, afhankelijk van uw exacte situatie.

  1. Je zou de lengte- en breedtegraad naar radialen kunnen converteren en die ook in de rij kunnen opslaan. Dit zou de kosten van die berekeningen besparen (in feite zouden de kosten één keer worden gemaakt bij het opslaan van de gegevens).
  2. Als uw tabel erg groot is, kunt u een eenvoudige lineaire afstandsberekening gebruiken in plaats van de Haversince-formule om de resultaten waarop u de Haversince-formule toepast te beperken.
  3. Als u andere gegevens in de tabel heeft die als een goed eerste filter zouden kunnen dienen (land/regio/enz.), kunt u deze eerst toepassen.
  4. U kunt uw deelnames opnieuw ordenen zodat ze worden toegepast na het afstandsfilter, zodat u niet de kosten van de deelname maakt voor gegevens die niet in aanmerking komen.


  1. Als variabele gelijk is aan waarde php

  2. Kan geen verbinding maken met lokale PostgreSQL

  3. PDO UTF-8-coderingsprobleem?

  4. AM/PM toevoegen aan een tijd- of datum/tijd-waarde in MariaDB