Re: Slow query: Select all buildings that have >1 pharmacies and >1 schools within 1000m

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема Re: Slow query: Select all buildings that have >1 pharmacies and >1 schools within 1000m
Дата
Msg-id d4e1e0255d5658c1fec9033b59f238b0.squirrel@sq.gransy.com
обсуждение исходный текст
Ответ на Re: Slow query: Select all buildings that have >1 pharmacies and >1 schools within 1000m  (Stefan Keller <sfkeller@gmail.com>)
Список pgsql-performance
On 7 Srpen 2012, 14:22, Stefan Keller wrote:
> Your proposal lacks the requirement that it's the same building from
> where pharmacies and schools are reachable.
> But I think about.

I don't know the dataset so I've expected the osm_id to identify the
building - then the intersect should work as AND for the conditions.

And I see I've forgot to include the 'is building' condition, so it should
be like this:

 SELECT b.osm_id FROM osm_poi AS p, osm_polygon b
    WHERE p.tags @> hstore('amenity','pharmacy')
    AND b.tags @> hstore('building','yes')
    AND ST_DWithin(b.way,p.way,1000)
 INTERSECT
 SELECT b.osm_id FROM osm_poi AS p, osm_polygon b
    WHERE p.tags @> hstore('amenity','school')
    AND b.tags @> hstore('building','yes')
    AND ST_DWithin(b.way,p.way,1000)

Tomas


В списке pgsql-performance по дате отправления:

Предыдущее
От: Stefan Keller
Дата:
Сообщение: Re: Slow query: Select all buildings that have >1 pharmacies and >1 schools within 1000m
Следующее
От: Craig James
Дата:
Сообщение: Re: Slow query: Select all buildings that have >1 pharmacies and >1 schools within 1000m