From: | Dimitri <dimitrik(dot)fr(at)gmail(dot)com> |
---|---|
To: | Merlin Moncure <mmoncure(at)gmail(dot)com> |
Cc: | PostgreSQL Performance <pgsql-performance(at)postgresql(dot)org> |
Subject: | Re: Any better plan for this query?.. |
Date: | 2009-05-06 12:33:13 |
Message-ID: | 5482c80a0905060533y584f3096mdcb828734ba70ed@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
I'll try to answer all mails at once :-))
- query is running fully in RAM, no I/O, no network, only CPU time
- looping 100 times the same query gives 132ms total time (~1.32ms per
query), while it's 44ms on InnoDB (~0.44ms per query)
- disabling seq scan forcing a planner to use an index scan, and
finally it worse as gives 1.53ms per query..
- prepare the query helps: prepare statement takes 16ms, but execute
runs in 0.98ms = which make me think it's not only a planner
overhead... And it's still 2 times lower vs 0.44ms.
Also, generally prepare cannot be used in this test case as we suppose
any query may be of any kind (even if it's not always true :-))
- char or varchar should be used here because the reference code is
supposed to accept any characters (alphanumeric)
- it also reminds me that probably there are some extra CPU time due
locale setting - but all my "lc_*" variables are set to "C"...
Rgds,
-Dimitri
On 5/6/09, Merlin Moncure <mmoncure(at)gmail(dot)com> wrote:
> On Wed, May 6, 2009 at 7:46 AM, Merlin Moncure <mmoncure(at)gmail(dot)com> wrote:
>> prepare history_stat(char(10) as
>
> typo:
> prepare history_stat(char(10)) as
>
From | Date | Subject | |
---|---|---|---|
Next Message | Dimitri | 2009-05-06 12:49:23 | Re: Any better plan for this query?.. |
Previous Message | Albe Laurenz | 2009-05-06 11:57:32 | Re: Any better plan for this query?.. |