On Mon, Jul 8, 2013 at 10:44 AM, Richard Huxton <dev@archonet.com> wrote:
On 07/07/13 08:28, Radu-Stefan Zugravu wrote:
Each node has a geometry column called geom and a hstore column called tags. I need to extract nodes along a line that have certain keys in the tags column. To do that I use the following query:
SELECT id, tags FROM nodes WHERE ST_DWithin(nodes.geom, ST_MakeLine('{$geom1}', '{$geom2}'), 0.001) AND tags ? '{$type}';
CREATE INDEX nodes_tags_idx ON nodes USING GIN(tags);
After creating the index I searched again for nodes using the same first query but there is no change in performance.
How can I properly use GIN and GIST to index tags column so I can faster search for nodes that have a certain key in tags column?
Your index definition looks OK. Try showing the output of EXPLAIN ANALYSE for your query - that way we'll see if the index is being used. You can always paste explain output to: http://explain.depesz.com/ if it's too long for the email.