Я начинаю с sql geography и сделал запрос, чтобы получить все сохраненные точки, которые находятся внутри отправленного многоугольника, он получает правильные результаты, но его выполнение занимает много времени. Как повысить производительность этого запроса?
PS: я использую mysql на 5.5.62.
Мой запрос:
SELECT id, name
FROM geolocations
WHERE id in ( SELECT geo_id FROM users) AND
CONTAINS(GEOMFROMTEXT('POLYGON((-22.892726399999997 -47.05525290000003,-22.891496748403178 -47.05564986693423,-22.8915264 -47.05405289999999,-22.892726399999997 -47.05405289999999,-22.892726399999997 -47.05525290000003))'), coords)
ORDER BY `id` desc LIMIT 0, 10
Редактировать: если я удалю id in ( SELECT geo_id FROM users)
, мой запрос будет выполняться быстрее.