pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: randalls@bioinfo.wsu.edu
To: pgsql-performance@postgresql.org
Subject: Performance regarding LIKE searches
Date: Mon, 29 Mar 2010 08:42:48 -0800 (PST)
Message-ID: <2071262140.8761269880968618.JavaMail.root@mail> (raw)

Hi,

I am querying a Postgresql 8.3 database table that has approximately 22 million records.  The (explain analyze) query is listed below:

gdr_gbrowse_live=> explain analyze SELECT f.id,f.object,f.typeid,f.seqid,f.start,f.end,f.strand FROM feature as f, name as n WHERE (n.id=f.id AND lower(n.name) LIKE 'Scaffold:scaffold_163:1000..1199%' AND n.display_name>0);
                                                                   QUERY PLAN                                                                   
------------------------------------------------------------------------------------------------------------------------------------------------
 Nested Loop  (cost=0.01..5899.93 rows=734 width=884) (actual time=0.033..0.033 rows=0 loops=1)
   ->  Index Scan using name_name_lower_pattern_ops_idx on name n  (cost=0.01..9.53 rows=734 width=4) (actual time=0.032..0.032 rows=0 loops=1)
         Index Cond: ((lower((name)::text) ~>=~ 'Scaffold:scaffold'::text) AND (lower((name)::text) ~<~ 'Scaffold:scaffole'::text))
         Filter: ((display_name > 0) AND (lower((name)::text) ~~ 'Scaffold:scaffold_163:1000..1199%'::text))
   ->  Index Scan using feature_pkey on feature f  (cost=0.00..8.01 rows=1 width=884) (never executed)
         Index Cond: (f.id = n.id)
 Total runtime: 0.119 ms
(7 rows)

I can see I am hitting an index using an index that I created using the varchar_pattern_ops setting.  This is very fast and performs like I would expect.  However, when my application, GBrowse, access the database, I see in my slow query log this:

2010-03-29 09:34:38.083 PDT,"gdr_gbrowse_live","gdr_gbrowse_live",11649,"10.0.0.235:59043",4bb0399d.2d81,8,"SELECT",2010-03-28 22:24:45 PDT,4/118607,0,LOG,00000,"duration: 21467.467 ms  execute dbdpg_p25965_9: SELECT f.id,f.object,f.typeid,f.seqid,f.start,f.end,f.strand
  FROM feature as f, name as n
  WHERE (n.id=f.id AND lower(n.name) LIKE $1)
  
","parameters: $1 = 'Scaffold:scaffold\_163:1000..1199%'",,,,,,,

GBrowse is a perl based application.  Looking at the duration for this query is around 21 seconds.  That is a bit long.  Does anyone have any ideas why the query duration is so different?

Randall Svancara
Systems Administrator/DBA/Developer
Main Bioinformatics Laboratory





view thread (5+ messages)  latest in thread

Message-ID: <2071262140.8761269880968618.JavaMail.root@mail>
Permalink:  ../2071262140.8761269880968618.JavaMail.root@mail/
Also on:    postgresql.org/message-id/2071262140.8761269880968618.JavaMail.root@mail

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: randalls@bioinfo.wsu.edu
  Subject: Re: Performance regarding LIKE searches
  In-Reply-To: <2071262140.8761269880968618.JavaMail.root@mail>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox