Re: Strange query plan - Mailing list pgsql-general

From Thomas Burdairon
Subject Re: Strange query plan
Date
Msg-id 1391EBF6-01FC-4C74-B4D5-B91E2508AA09@entelience.com
Whole thread Raw
In response to Re: Strange query plan  ("Dmitry Teslenko" <dteslenko@gmail.com>)
List pgsql-general
On 14 août 08, at 16:28, Dmitry Teslenko wrote:

> On Thu, Aug 14, 2008 at 17:55, Igor Neyman <ineyman@perceptron.com>
> wrote:
>>
>> -----Original Message-----
>> From: Dmitry Teslenko [mailto:dteslenko@gmail.com]
>> Sent: Thursday, August 14, 2008 6:57 AM
>> To: pgsql-general@postgresql.org
>> Subject: Strange query plan
>>
>> Hello!
>>
>> I have following table:
>>
>> CREATE TABLE table1 (
>>        field1 INTEGER NOT NULL,
>>        field2 INTEGER NOT NULL,
>>        field3 CHARACTER(30),
>>        ... some more numeric fields)
>>
>> I have also those indexes:
>>
>> CREATE UNIQUE INDEX idx1 ON table1 USING btree (field3, field2,
>> field1)
>> CREATE INDEX idx2 ON table1 USING btree (field1, field3)
>>
>> Then I query this table with something like this:
>>
>> SELECT SUM(...) FROM table1 WHERE field3 = 'ABC' AND field1 <> 1
>>        GROUP BY field2
>>
I just wonder if you should create your index in the other order, like

CREATE INDEX idx2 ON table1 USING btree (field3, field1)

Documentation @ http://www.postgresql.org/docs/8.3/interactive/
indexes-multicolumn.html says :

> The exact rule is that equality constraints on leading columns,
> plus any inequality constraints on the first column that does not
> have an equality constraint, will be used to limit the portion of
> the index that is scanned

Hope this helps

Tom


>> And planner picks up a sequential scan of a table. Why does he?
>>
>>
>> [I.N.]
>> How big is your table?
>> If it's not too big, the cost of table scan might be lower than using
>> index.
>>
>> Igor
>
> Table contains ~1 million rows and scan takes very long time. That's
> the reason I'm asking the question on a mail list.
>
> --
> A: Because it messes up the order in which people normally read text.
> Q: Why is top-posting such a bad thing?
> A: Top-posting.
> Q: What is the most annoying thing in e-mail?
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general


pgsql-general by date:

Previous
From: "Dmitry Teslenko"
Date:
Subject: Re: Strange query plan
Next
From: "Scott Marlowe"
Date:
Subject: Re: Strange query plan