Есть список грузов в БД, перевозка из пункта А в пункт Б. А и Б имеют геокоординаты GPS и имеют массив точек маршрута в поле Linestring. В поиске я указываю свой маршрут и нужно вдоль указанного маршрута вывести из БД грузы которые подходят под мой маршрут. Сейчас сделано через это поле LINESTRING и просто MYSQL функция перебирает все точки и ищет насколько они удалены от траектории маршрута. На выборках 50-200 грузов все работает ок, но когда их становится 2-5-10 тысяч срок выполнения скрипта может занимать минуты. Кто нибудь сталкивался с подобными задачами? Очень срочно нужно оптимизировать этот поиск, помогите
freeExec, спасибо за наводку, итоговое решение через пересечение линии и буфера вокруг точки -
ST_CROSSES(line,ST_BUFFER(ST_GEOMFROMTEXT('POINT($x $y)'),1))