From: | Bill Chandler <billybobc1210(at)yahoo(dot)com> |
---|---|
To: | Mark Kirkwood <markir(at)coretech(dot)co(dot)nz> |
Cc: | pgsql-jdbc(at)postgresql(dot)org, pgsql-perform(at)postgresql(dot)org |
Subject: | Re: [PERFORM] Cursors performance |
Date: | 2004-07-12 18:07:29 |
Message-ID: | 20040712180730.37055.qmail@web51407.mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc pgsql-performance |
Thanks,
Will try this test (I'm assuming you mean to say to
set fetch size of 1 and rerun on both JDBC and
psql).
BTW, here is another clue: I only get the JDBC
performance degradation when I include the "real_name
like 'NEPOOL%REAL%'" clause. I've tried re-ordering
too: i.e. putting this clause first in the statement,
last in the statement, etc. Doesn't seem to make any
difference.
real_name is a varchar(64). There is a unique index
on it.
thanks,
Bill
--- Mark Kirkwood <markir(at)coretech(dot)co(dot)nz> wrote:
> Might be worth doing a little test:
>
> i) modify your code to fetch 1 row at a time
> ii) set log_duration=true in your postgresql.conf
> (as the other posters
> have suggested)
>
> Then compare with running the query in psql.
>
> regards
>
> Mark
>
>
>
> Bill Chandler wrote:
>
> >Thanks to all who have responded. I now think my
> >problem is not related to deleting/recreating
> indexes.
> >Somehow it is related to JDBC cursors. It appears
> >that what is happening is that since I'm using
> >a fetch size of 5000, the command:
> >
> >FETCH FORWARD 5000 FROM JDBC_CURS_1
> >
> >is being repeatedly sent to the server as I process
> >the result set from my query. Each time this
> command
> >is sent it it takes about 5 minutes to return which
> is
> >about the amount of time the whole query took to
> >complete before the performance degredation. So in
> >other words it looks as if the full select is being
> >rerun on each fetch.
> >
> >Now the mystery is why is this happening all of the
> >sudden? I have been running w/ fetch size set to
> 5000
> >for the last couple of weeks and it did not appear
> to
> >be doing this (i.e. re-running the entire select
> >statement again). Is this what I should expect
> when
> >using cursors? I would have thought that the
> server
> >should "remember" where it left off in the query
> since
> >the last fetch and continue from there.
> >
> >Could I have inadvertently changed a parameter
> >somewhere that would cause this behavior?
> >
> >thanks,
> >
> >Bill
> >
> >__________________________________________________
> >Do You Yahoo!?
> >Tired of spam? Yahoo! Mail has the best spam
> protection around
> >http://mail.yahoo.com
> >
> >---------------------------(end of
> broadcast)---------------------------
> >TIP 8: explain analyze is your friend
> >
> >
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
>
> http://www.postgresql.org/docs/faqs/FAQ.html
>
__________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail
From | Date | Subject | |
---|---|---|---|
Next Message | vijay raghava | 2004-07-12 18:41:13 | UNSUBSCRIBE |
Previous Message | Dave Cramer | 2004-07-12 15:14:23 | Re: patch for getXXX methods |
From | Date | Subject | |
---|---|---|---|
Next Message | Laurent Martelli | 2004-07-12 18:33:27 | Re: Fw: invitation au "Village du Logiciel Libre" de la |
Previous Message | Jan Wieck | 2004-07-12 18:01:10 | Re: Working on huge RAM based datasets |