Re: nested loop semijoin estimates

From: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org, Mark Wong <markwkm(at)gmail(dot)com>
Subject: Re: nested loop semijoin estimates
Date: 2015-06-02 22:20:21
Message-ID: 556E2C25.9090709@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 06/02/15 23:27, Tom Lane wrote:
> I wrote:
>> Hm. In principle, add_path_precheck shouldn't be doing anything except
>> rejecting paths that would get rejected anyway later on. However it
>> strikes me that there's a logic error in it; specifically, this
>> simplifying assumption is wrong:
>> * For speed, we make exact rather than fuzzy cost comparisons. If an
>> * old path dominates the new path exactly on both costs, it will
>> * surely do so fuzzily.
>
> After staring at this awhile longer, I still don't see exactly why
> it's changing the results.

So the required_outer vs. (!consider_startup) inconsistency does not
explain that?

> Do we have instructions around here anyplace on how to set up/use
> TPC-DS? I couldn't find anything about it on the wiki ...

Not that I'm aware of, but it's not really all that difficult.

1) get the TPC-DS toolkit from

http://www.tpc.org/information/current_specifications.asp

2) build the 'tools' directory (just "make")

3) generate data "dsdgen -scale 1" (1GB dataset)

4) fix the data file formatting (pipe at the end)

for f in *.dat; do sed 's/|$//g' $f > ${f/dat/csv}; done;

5) create database structure (attached 'create.sql')

6) load data (attached 'load.sql', fix paths first)

7) indexes.sql

8) run queries.sql or explain.sql

--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachment Content-Type Size
create.sql application/sql 27.6 KB
indexes.sql application/sql 8.1 KB
load.sql application/sql 2.7 KB
explain.sql application/sql 91.5 KB
queries.sql application/sql 90.2 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Naoya Anzai 2015-06-03 00:04:29 Re: why does txid_current() assign new transaction-id?
Previous Message Peter Geoghegan 2015-06-02 22:11:01 Re: Minor issue with BRIN regression tests