Mysql
 sql >> Database >  >> RDS >> Mysql

Equivalente ST_Buffer per ricerche basate su Circle in MySQL?

Per quanto ne so, le funzioni del buffer sono non ancora implementato in MySQL:

Se ho capito bene la tua domanda, potresti non aver nemmeno bisogno di una funzione spaziale per eseguire questa query, potresti utilizzare una query SQL "normale" e Distanza euclidea :

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

Spero che questo aiuti.

Modifica: Le prestazioni sarebbero sicuramente un problema con questa query.

Per quanto riguarda le funzioni spaziali in MySQL, sembra che gli ultimi snapshot includano nuove funzioni come Buffer o Distance. Potresti provare: