Slow select times on select with xpath - Mailing list pgsql-performance

From astro77
Subject Slow select times on select with xpath
Date
Msg-id 25259351.post@talk.nabble.com
Whole thread Raw
Responses Re: Slow select times on select with xpath  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Re: Slow select times on select with xpath  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-performance
I've got a table set up with an XML field that I would like to search on with
2.5 million records. The xml are serialized objects from my application
which are too complex to break out into separate tables. I'm trying to run a
query similar to this:

    SELECT  serialized_object as outVal
     from object  where
    (
    array_to_string(xpath('/a:root/a:Identification/b:ObjectId/text()',
serialized_object,
             ARRAY
             [
             ARRAY['a', 'http://schemas.datacontract.org/2004/07/Objects'],
             ARRAY['b', 'http://schemas.datacontract.org/2004/07/Security']

             ]), ' ') = 'fdc3da1f-060f-4c34-9c30-d9334d9272ae'

    )
    limit 1000;

I've also set up an index on the xpath query like this...

CREATE INDEX concurrently
idx_object_nodeid
ON
object
USING
btree(

 cast(xpath('/a:root/a:Identification/b:ObjectId/text()', serialized_object,
             ARRAY
             [
             ARRAY['a', 'http://schemas.datacontract.org/2004/07/Objects'],
             ARRAY['b', 'http://schemas.datacontract.org/2004/07/Security']

             ])as text[])
);

The query takes around 30 minutes to complete with or without the index in
place and does not cache the query. Additionally the EXPLAIN say that the
index is not being used. I've looked everywhere but can't seem to find solid
info on how to achieve this. Any ideas would be greatly appreciated.
--
View this message in context: http://www.nabble.com/Slow-select-times-on-select-with-xpath-tp25259351p25259351.html
Sent from the PostgreSQL - performance mailing list archive at Nabble.com.


pgsql-performance by date:

Previous
From: Wei Yan
Date:
Subject: Help: how to speed up query after db server reboot
Next
From: Pat Chan
Date:
Subject: pg_stat_activity.current_query explanation?