Re: Is this expected? (Index scanning) - Mailing list pgsql-general

From Stephan Szabo
Subject Re: Is this expected? (Index scanning)
Date
Msg-id Pine.BSF.4.21.0105062003200.74573-100000@megazone23.bigpanda.com
Whole thread Raw
In response to Is this expected? (Index scanning)  ("Mitch Vincent" <mitch@venux.net>)
List pgsql-general
On Sun, 6 May 2001, Mitch Vincent wrote:

> Indexes on both void and lower(cust_name) here..
>
> I get ->
>
> EXPLAIN select * from invoice_master WHERE lower(cust_name) like 'mitch' AND
> void = 'f' order by created LIMIT 100;
> NOTICE:  QUERY PLAN:
>
> Limit  (cost=2241.98..2241.98 rows=100 width=319)
>   ->  Sort  (cost=2241.98..2241.98 rows=604 width=319)
>         ->  Index Scan using invoice_cust_name on invoice_master
> (cost=0.00..2214.09 rows=604 width=319)
>
> The above query matches zero rows.
>
> EXPLAIN SELECT * FROM invoice_master WHERE lower(cust_name) like '%mitch'
> AND void = 'f' ORDER BY created LIMIT 100;
> NOTICE:  QUERY PLAN:
>
> Limit  (cost=4310.65..4310.65 rows=1 width=319)
>   ->  Sort  (cost=4310.65..4310.65 rows=1 width=319)
>         ->  Seq Scan on invoice_master  (cost=0.00..4310.64 rows=1
> width=319)
>
> The above query matches zero rows.
>
> EXPLAIN SELECT * FROM invoice_master WHERE lower(cust_name) like 'mitch%'
> AND void = 'f' ORDER BY created LIMIT 100;
> NOTICE:  QUERY PLAN:
>
> Limit  (cost=2241.98..2241.98 rows=100 width=319)
>   ->  Sort  (cost=2241.98..2241.98 rows=604 width=319)
>         ->  Index Scan using invoice_cust_name on invoice_master
> (cost=0.00..2214.09 rows=604 width=319)
>
> The above query matches 53 rows..

In the first and last case the like is anchored at the beginning so it
uses the name index.  The middle case can't use that index, and how
well distributed are the values of void (is it a boolean?)?  It's likely
that the index isn't very selective, if most of the rows are void='f'
then that index is probably more expensive to scan than the sequence scan
would be.


pgsql-general by date:

Previous
From: "Mitch Vincent"
Date:
Subject: Is this expected? (Index scanning)
Next
From: "Mitch Vincent"
Date:
Subject: Re: Is this expected? (Index scanning)