Ron Mayer wrote: > Bruce Momjian wrote: > > Josh Berkus wrote: > >> ...simple web applications, where > >> queries are never supposed to take more than 50ms. If a query turns up > >> with an estimated cost of 10000000000, then you know something's wrong; > >> ... > > > > How about a simpler approach that throws an error or warning for > > cartesian products? That seems fool-proof. > > Seems less fool-proof to me. > > Sometimes cartesian products produce plans that run 200 times > faster than plans that don't use the cartesian product. > > The first link below shows a cartesian join that took 1.1 > seconds (within the range of OK for some web apps), while > plans for the same query that don't use one took 200 seconds. > > http://archives.postgresql.org/pgsql-performance/2008-03/msg00391.php > http://archives.postgresql.org/pgsql-performance/2007-12/msg00090.php > http://archives.postgresql.org/pgsql-performance/2008-03/msg00361.php
My point is that people should _know_ they are using a cartesian product, and a warning would do that for users who have no need for a cartesian product and want to be warned about a possible error. -- Bruce Momjian <[EMAIL PROTECTED]> http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers