Re: Q on "Re: select is fast, update based on same where clause is slow " - Mailing list pgsql-sql

From Josh Berkus
Subject Re: Q on "Re: select is fast, update based on same where clause is slow "
Date
Msg-id web-123693@davinci.ethosmedia.com
Whole thread Raw
List pgsql-sql
Bladvin,

> I understand why did Jeff's original solution not work. I understand
> why yours do.
> 
> But could you please explain me how the 74000^2 can be calculated
> for this original query?:

Sure.  In Jeff's original query, the updated instance of the table
(sessions2) and the referenced instance (s) are seperate, without any
JOIN or WHERE conditions to link them.  Under these conditions, SQL
engines do a CROSS JOIN, where every single one of the rows in the first
table is matched against every single one of the rows in the second
table.  This gives you a result set of the number of rows in sessions2 *
the number of rows in s.  74,000^2  Get it?

Example:

TableA:
1    A
2    B

Table B
7    H
8    G

SELECT * FROM TableA, TableB
1    A    7    H
1    A    8    G
2    B    7    H
2    B    8    G

-Josh

-Josh


______AGLIO DATABASE SOLUTIONS___________________________                                      Josh Berkus Complete
informationtechnology      josh@agliodbs.com  and data management solutions       (415) 565-7293 for law firms, small
businesses       fax 621-2533   and non-profit organizations.      San Francisco
 


pgsql-sql by date:

Previous
From: "Jeff Barrett"
Date:
Subject: Re: select is fast, update based on same where clause is slow
Next
From: "postgresql"
Date:
Subject: more information on JOINs