Chris Roffler <croffler@xxxxxxxxxxxxx> writes: > I am trying to setup an index on an xpath expression but the query never > uses the index. > Could someone enlighten me please ? > Here is the setup : > CREATE INDEX xml_index > ON time_series > USING btree > ((xpath('/AttributeList/Attributes/Attribute/Name/text()'::text, > external_attributes)::text[])); > And here is the query : > select id, name > from > time_series > where > (xpath('/AttributeList/Attributes/Attribute/Name/text()', > external_attributes))[1]::text='Attribute100' Doesn't work that way --- subscripting isn't an indexable operation. To make that query fast with a standard index, you'd need the index to be on (xpath('/AttributeList/Attributes/Attribute/Name/text()', external_attributes))[1]::text regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general