Mysql
 sql >> Datenbank >  >> RDS >> Mysql

ST_Buffer-Äquivalent für kreisbasierte Suchen in MySQL?

Soweit ich weiß, sind Pufferfunktionen noch nicht implementiert in MySQL:

Wenn ich Ihre Frage richtig verstehe, benötigen Sie möglicherweise nicht einmal eine räumliche Funktion, um diese Abfrage auszuführen. Sie könnten eine "normale" SQL-Abfrage und den Euklidische Distanz :

select * 
from gistable g 
where SQRT(POW(circleCenterPT.x - point.x,2) + POW(circleCenterPT.y - point.y,2)) < radius

Hoffe das hilft.

Bearbeiten: Bei dieser Abfrage wäre die Leistung sicherlich ein Problem.

Was die räumlichen Funktionen in MySQL betrifft, scheinen die neuesten Snapshots neue Funktionen wie Buffer oder Distance zu enthalten. Vielleicht möchten Sie es versuchen: