Re: [PERFORM] Planner making wrong decisions 8.2.4. Insane cost calculations.

From: Henrik Zagerholm <henke(at)mac(dot)se>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Gregory Stark <stark(at)enterprisedb(dot)com>, pgsql-performance(at)postgresql(dot)org, pgsql-general(at)postgresql(dot)org
Subject: Re: [PERFORM] Planner making wrong decisions 8.2.4. Insane cost calculations.
Date: 2007-08-06 21:29:45
Message-ID: 3F198A58-3132-4B8E-8E2D-1D158C147EA3@mac.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-performance


6 aug 2007 kl. 17:31 skrev Tom Lane:

> Henrik Zagerholm <henke(at)mac(dot)se> writes:
>> WHERE file_indexed IS FALSE
>> AND file_copied
>> IS TRUE
>> AND file_size <
>> (1024)
>> AND LOWER
>> (file_suffix) IN(
>> SELECT LOWER
>> (filetype_suffix) FROM tbl_filetype_suffix WHERE
>> filetype_suffix_index IS TRUE
>> ) AND fk_archive_id
>> = 115 ORDER BY fk_tar_id
>
> Do you really need the lower() calls there? The planner is getting
> the
> wrong estimate for the selectivity of the IN-clause, which is likely
> because it has no statistics about lower(file_suffix) or
> lower(filetype_suffix).
>
> If you don't want to constrain the data to be already lower'd, then
> setting up functional indexes on the two lower() expressions should
> prompt ANALYZE to track stats for them.
>

OK, thanx for the tip. I actually think that all the suffixes are
lower case so the lower should go.
But would this really impact the sequential scan on tbl_file_structure?

->Seq Scan on tbl_file_structure (cost=0.00..167417.09 rows=7902309
width=16) (actual time=9.581..33702.852 rows=7801334 loops=1)

At what point does the planner choose seq scans? I've seen the
planner use seq scan even though only 1% of the joining tables rows
are selected.
If the filter gives me 70k rows from tbl_file and tbl_file_structure
has 8 million rows why does the planner choose seq scans?

Cheers,
Henrik

> regards, tom lane
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 7: You can help support the PostgreSQL project by donating at
>
> http://www.postgresql.org/about/donate

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2007-08-06 22:11:07 Re: Template zero xid issue
Previous Message Ivan Zolotukhin 2007-08-06 21:05:18 Re: Modelling tags

Browse pgsql-performance by date

  From Date Subject
Next Message Tom Lane 2007-08-06 22:23:34 Re: [PERFORM] Planner making wrong decisions 8.2.4. Insane cost calculations.
Previous Message Henrik Zagerholm 2007-08-06 20:16:55 Re: Extreme slow select query 8.2.4