Mam kilka tysięcy wielokątów w SpatiaLite. Próbuję wykonać zapytanie „dotyka”:
select map1.* from map1,map2
where touches(map1."Geometry",map2."Geometry")
i wow, czy to jest WOLNE!
Jeśli jednak poproszę go o zrobienie tego tylko dla jednej paczki na mapie 1, działa ona bardzo szybko.
select map1.* from map1,map2
where touches(map1."Geometry",map2."Geometry")
and map1."ROWID" = 753
Oczekuję, że pierwsze zapytanie będzie działało wolniej, ale jest zadziwiająco wolne. Działa bardzo szybko w SQLServer, Manifold GIS i PostGIS. Czy Spatialite jest po prostu naprawdę nieefektywny?