Po nocnym śnie znalazłem następujące rozwiązanie.
set @p = GeomFromText('POINT(23.923739342824817 38.224714465253733)');
select municipalID FROM ecovis.municipal_border
where ST_Contains(municipal_border.boundary, @p);
Działa dla MySQL 5.6.1, gdzie przedrostek ST_ funkcja została zaimplementowana.Chociaż nie mam żadnych pomiarów z klasycznego podejścia (algorytm rentgenowski) uważam, że jest to dość szybkie. Potrzeba 0,17 sekundy, aby zlokalizować punkt w 2700 wielokątach, przy czym niektóre wielokąty mają znacznie więcej niż 1500 punktów.