From: | Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au> |
---|---|
To: | Jan Kesten <jan(dot)kesten(at)web(dot)de> |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Improving performance on multicolumn query |
Date: | 2005-11-09 13:19:33 |
Message-ID: | 4371F765.1050209@familyhealth.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
> transfer=> explain analyse SELECT * FROM test WHERE test_a=9091150001
> AND test_b=1 AND test_c=2 AND test_d=0 AND test_e=0;
>
> Index Scan using test_idx on test (cost=0.00..50.27 rows=1 width=1891)
> (actual time=0.161..0.167 rows=1 loops=1)
> Index Cond: (test_a = 9091150001::bigint)
> Filter: ((test_b = 1) AND (test_c = 2) AND (test_d = 0) AND (test_e 0))
>
> So, what to do to speed things up? If I understand correctly this
> output, the planner uses my index (test_idx is the same as test_pkey
> created along with the table), but only for the first column.
Hi Jan,
If you're using 7.4.x then the planner can't use the index for unquoted
bigints. Try this:
SELECT * FROM test WHERE test_a='9091150001' AND test_b='1' AND
test_c=''2 AND test_d='0' AND test_e='0';
Chris
From | Date | Subject | |
---|---|---|---|
Next Message | Charlie Savage | 2005-11-09 17:13:46 | Re: Sort performance on large tables |
Previous Message | Steinar H. Gunderson | 2005-11-09 13:00:17 | Re: Improving performance on multicolumn query |