Received: from maia.hub.org (maia-5.hub.org [200.46.204.29]) by mail.postgresql.org (Postfix) with ESMTP id B1DAFB5D80A for ; Mon, 17 Oct 2011 03:35:49 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.29]) (amavisd-maia, port 10024) with ESMTP id 81457-09 for ; Mon, 17 Oct 2011 06:35:43 +0000 (UTC) X-Greylist: delayed 00:06:40.022281 by SQLgrey-1.8.0-rc2 Received: from kylie.comodo.net (brad.comodogroup.com [82.109.38.202]) by mail.postgresql.org (Postfix) with ESMTP id 76DD0B5D803 for ; Mon, 17 Oct 2011 03:35:42 -0300 (ADT) Received: (qmail 11253 invoked by uid 1114); 17 Oct 2011 06:29:00 -0000 Received: from Unknown (HELO [192.168.199.58]) (220.227.26.101) (smtp-auth username robinst, mechanism plain) by kylie.comodo.net (qpsmtpd/0.40) with (CAMELLIA256-SHA encrypted) ESMTPSA; Mon, 17 Oct 2011 07:29:00 +0100 Message-ID: <4E9BCB1F.9060208@comodo.com> Date: Mon, 17 Oct 2011 11:58:47 +0530 From: Robins Tharakan Organization: Comodo User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110922 Thunderbird/3.1.15 MIME-Version: 1.0 To: pgsql-performance@postgresql.org Subject: Bad plan by Planner (Already resolved?) Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms070802060004070705040504" X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.9 tagged_above=-10 required=5 tests=BAYES_00=-1.9 X-Spam-Level: X-Archive-Number: 201110/144 X-Sequence-Number: 45366 This is a cryptographically signed message in MIME format. --------------ms070802060004070705040504 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Hi, I stumbled upon a situation where the planner comes with a bad query=20 plan, but I wanted to mention upfront that I'm using a dated PG version=20 and I already see an update which mentions about improving planner=20 performance. I just wanted to check if this issue is already resolved,=20 and if so, which version should I be eyeing. My PG Version: 8.4.7 Probably solved in: 8.4.8 / 9.0.4 ? Issue: It seems that the planner is unable to flatten the IN sub-query=20 causing the planner to take a bad plan and take ages (>2500 seconds) and = expects to give a 100 million row output, where in-fact it should get a=20 six row output. The same IN query, when flattened, PG gives the correct=20 result in a fraction of a second. Do let me know if this is a new case. I could try to give you the=20 EXPLAIN ANALYSE outputs / approximate table sizes if required. EXISTING QUERY: SELECT field_b FROM large_table_a JOIN large_table_b USING (field_b) WHERE field_a IN (SELECT large_table_b.field_a FROM large_table_b WHERE field_b =3D 2673056) RECOMMENDED QUERY: SELECT s1.field_b FROM large_table_a JOIN large_table_b s1 USING (field_b) JOIN large_table_b s2 ON s1.field_a =3D s2.field_a WHERE s2.field_b =3D 2673056 -- Robins Tharakan --------------ms070802060004070705040504 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIVdjCC BIowggNyoAMCAQICECf06hH0eobEbp27bqkXBwcwDQYJKoZIhvcNAQEFBQAwbzELMAkGA1UE BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9vdDAeFw0w NTA2MDcwODA5MTBaFw0yMDA1MzAxMDQ4MzhaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMC VVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5l dHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVRO LVVTRVJGaXJzdC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVN NRm5pELlzkniii8efNIxB8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQy lbsMTzC9mKALi+VuG6JG+ni8om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXq vgvOdjp6Dpvq/NonWz1zHyLmSGHGTPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6 hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7NlyP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu 9mIwFIws6wIDAQABo4HhMIHeMB8GA1UdIwQYMBaAFK29mHo0tCb3+sQmVO8DveAky1QaMB0G A1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ BAUwAwEB/zB7BgNVHR8EdDByMDigNqA0hjJodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BZGRU cnVzdEV4dGVybmFsQ0FSb290LmNybDA2oDSgMoYwaHR0cDovL2NybC5jb21vZG8ubmV0L0Fk ZFRydXN0RXh0ZXJuYWxDQVJvb3QuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQAZ2IkRbyispgCi 54fBm5AD236hEv0e8+LwAamUVEJrmgnEoG3XkJIEA2Z5Q3H8+G+v23ZF4jcaPd3kWQR4rBz0 g0bzes9bhHIt5UbBuhgRKfPLSXmHPLptBZ2kbWhPrXIUNqi5sf2/z3/wpGqUNVCPz4FtVbHd WTBK322gnGQfSXzvNrv042n0+DmPWq1LhTq3Du3Tzw1EovsEv+QvcI4l+1pUBrPQxLxtjftz Mizpm4QkLdZ/kXpoAlAfDj9N6cz1u2fo3BwuO/xOzf4CjuOoEwqlJkRl6RDyTVKnrtw+ymsy XEFs/vVdoOr/0fqbhlhtPZZH5f4ulQTCAMyOofK7MIIFGjCCBAKgAwIBAgIQbRnqpxlPajMi 5iIyeqpx3jANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcw FQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3Jr MSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0BgNVBAMTLVVUTi1VU0VS Rmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw0xMTA0MjgwMDAwMDBa Fw0yMDA1MzAxMDQ4MzhaMIGTMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5j aGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDE5 MDcGA1UEAxMwQ09NT0RPIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWls IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkoSEW0tXmNReL4uk4UDIo1NY X2Zl8TJO958yfVXQeExVt0KU4PkncQfFxmmkuTLE8UAakMwnVmJ/F7Vxaa7lIBvky2NeYMqi QfZq4aP/uN8fSG1lQ4wqLitjOHffsReswtqCAtbUMmrUZ28gE49cNfrlVICv2HEKHTcKAlBT bJUdqRAUtJmVWRIx/wmi0kzcUtve4kABW0ho3cVKtODtJB86r3FfB+OsvxQ7sCVxaD30D9YX WEYVgTxoi4uDD216IVfmNLDbMn7jSuGlUnJkJpFOpZIP/+CxYP0ab2hRmWONGoulzEKbm30i Y9OpoPzOnpDfRBn0XFs1uhbzp5v/wQIDAQABo4IBSzCCAUcwHwYDVR0jBBgwFoAUiYJnfcSd JnAAS7RQSHzePa4Ebn0wHQYDVR0OBBYEFHoTTgB0W8Z4Y2QnwS/ioFu8ecV7MA4GA1UdDwEB /wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMBEGA1UdIAQKMAgwBgYEVR0gADBYBgNVHR8E UTBPME2gS6BJhkdodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGll bnRBdXRoZW50aWNhdGlvbmFuZEVtYWlsLmNybDB0BggrBgEFBQcBAQRoMGYwPQYIKwYBBQUH MAKGMWh0dHA6Ly9jcnQudXNlcnRydXN0LmNvbS9VVE5BZGRUcnVzdENsaWVudF9DQS5jcnQw JQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEFBQAD ggEBAIXWvnhXVW0zf0RS/kLVBqgBA4CK+w2y/Uq/9q9BSfUbWsXSrRtzbj7pJnzmTJjBMCjf y/tCPKElPgp11tA9OYZm0aGbtU2bb68obB2v5ep0WqjascDxdXovnrqTecr+4pEeVnSy+I3T 4ENyG+2P/WA5IEf7i686ZUg8mD2lJb+972DgSeUWyOs/Q4Pw4O4NwdPNM1+b0L1garM7/vrU yTo8H+2b/5tJM75CKTmD7jNpLoKdRU2oadqAGx490hpdfEeZpZsIbRKZhtZdVwcbpzC+S0lE uJB+ytF5OOu0M/qgOl0mWJ5hVRi0IdWZ1eBDQEIwvuql55TSsP7zdfl/bucwggXhMIIEyaAD AgECAhBfecn+BRfRwsBoBq9kPMYvMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJHQjEb MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQK ExFDT01PRE8gQ0EgTGltaXRlZDE5MDcGA1UEAxMwQ09NT0RPIENsaWVudCBBdXRoZW50aWNh dGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTExMDgzMDAwMDAwMFoXDTE0MDgyOTIzNTk1 OVowgcAxDjAMBgNVBBETBTA3MzEwMRowGAYDVQQKExFDb21vZG8gR3JvdXAgSW5jLjEdMBsG A1UECRMUNTI1IFdhc2hpbmd0b24gQmx2ZC4xCzAJBgNVBAgTAk5KMRQwEgYDVQQHEwtKZXJz ZXkgQ2l0eTELMAkGA1UEBhMCVVMxGDAWBgNVBAMTD1JvYmlucyBUaGFyYWthbjEpMCcGCSqG SIb3DQEJARYacm9iaW5zLnRoYXJha2FuQGNvbW9kby5jb20wggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCckvPmEZ6upE2ch9jYGwz+P/qRpSqy5EYOQ0W7T2k6SZJ8c6MosxCR Dhp3wIVNjgKTrOh5fsDZnrFm8ct+QGOXTscKi0KG12HSmZJW8ACxOXCaEGrjKX8xL629Gf9w JEnoRKrkm4lvZV7j9LTxhSfMLE+CQdakQaNM7+C9xZvazFU9VdmiB2NX1OAR5bBsJcJk4vWv 55buaVqRQqTTE7J7N7ZHPPYeNA2TKD6a6q/2gwpi5OUKXK13x/2T5V4STYcN5rVjO6uJik+y ZUf5OyAuGIt50Y3IPVLHOpn7muh7/Z9hV+6OyjnJEu00emZjT/f5KbtWUJh5itJgKoln+Csj AgMBAAGjggIAMIIB/DAfBgNVHSMEGDAWgBR6E04AdFvGeGNkJ8Ev4qBbvHnFezAdBgNVHQ4E FgQUBvR8jLJLDqVVQXdVWsc/n7XQK9AwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAw HQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQEC AQMFMCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5uZXQvQ1BTMFcGA1Ud HwRQME4wTKBKoEiGRmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET0NsaWVudEF1dGhl bnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYgGCCsGAQUFBwEBBHwwejBSBggrBgEF BQcwAoZGaHR0cDovL2NydC5jb21vZG9jYS5jb20vQ09NT0RPQ2xpZW50QXV0aGVudGljYXRp b25hbmRTZWN1cmVFbWFpbENBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2Rv Y2EuY29tMFEGA1UdEQRKMEigKgYKKwYBBAGCNxQCA6AcDBpyb2JpbnMudGhhcmFrYW5AY29t b2RvLmNvbYEacm9iaW5zLnRoYXJha2FuQGNvbW9kby5jb20wDQYJKoZIhvcNAQEFBQADggEB AHoaVJ/H1rq8vKCcgKtpJjc0V4zJ+MJpQo0piYBxHIn8oHYv2WccGfzeR+2r8HfEbkwuCr21 ILj/XKfcT4JCxbNNTNMVLnyYgC89meCKHdS1Huj8eN39oLulImQ1Lbfbklm8wS2ox1iq7ucO RIA3Dyz+fX/HNUlLRL+hevMXz4IvmcKCC/15Pd2xBuXfdulhzpZiCiLNDqfFwAYa9gVxruDH W2IMgU/Qfg7W9revhOTjEiBXDMKq5YXXWzr3Wjyk5J2vmfaX35JCIhL8a/64io6kAmCTh1Tj fe9Wwo5zs2A8yKOBeZToA07+koyM+NRpREvDULLjamrIGz48ghvgSMswggXhMIIEyaADAgEC AhBfecn+BRfRwsBoBq9kPMYvMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJHQjEbMBkG A1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD T01PRE8gQ0EgTGltaXRlZDE5MDcGA1UEAxMwQ09NT0RPIENsaWVudCBBdXRoZW50aWNhdGlv biBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTExMDgzMDAwMDAwMFoXDTE0MDgyOTIzNTk1OVow gcAxDjAMBgNVBBETBTA3MzEwMRowGAYDVQQKExFDb21vZG8gR3JvdXAgSW5jLjEdMBsGA1UE CRMUNTI1IFdhc2hpbmd0b24gQmx2ZC4xCzAJBgNVBAgTAk5KMRQwEgYDVQQHEwtKZXJzZXkg Q2l0eTELMAkGA1UEBhMCVVMxGDAWBgNVBAMTD1JvYmlucyBUaGFyYWthbjEpMCcGCSqGSIb3 DQEJARYacm9iaW5zLnRoYXJha2FuQGNvbW9kby5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQCckvPmEZ6upE2ch9jYGwz+P/qRpSqy5EYOQ0W7T2k6SZJ8c6MosxCRDhp3 wIVNjgKTrOh5fsDZnrFm8ct+QGOXTscKi0KG12HSmZJW8ACxOXCaEGrjKX8xL629Gf9wJEno RKrkm4lvZV7j9LTxhSfMLE+CQdakQaNM7+C9xZvazFU9VdmiB2NX1OAR5bBsJcJk4vWv55bu aVqRQqTTE7J7N7ZHPPYeNA2TKD6a6q/2gwpi5OUKXK13x/2T5V4STYcN5rVjO6uJik+yZUf5 OyAuGIt50Y3IPVLHOpn7muh7/Z9hV+6OyjnJEu00emZjT/f5KbtWUJh5itJgKoln+CsjAgMB AAGjggIAMIIB/DAfBgNVHSMEGDAWgBR6E04AdFvGeGNkJ8Ev4qBbvHnFezAdBgNVHQ4EFgQU BvR8jLJLDqVVQXdVWsc/n7XQK9AwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYD VR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQMF MCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5uZXQvQ1BTMFcGA1UdHwRQ ME4wTKBKoEiGRmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET0NsaWVudEF1dGhlbnRp Y2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYgGCCsGAQUFBwEBBHwwejBSBggrBgEFBQcw AoZGaHR0cDovL2NydC5jb21vZG9jYS5jb20vQ09NT0RPQ2xpZW50QXV0aGVudGljYXRpb25h bmRTZWN1cmVFbWFpbENBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2Eu Y29tMFEGA1UdEQRKMEigKgYKKwYBBAGCNxQCA6AcDBpyb2JpbnMudGhhcmFrYW5AY29tb2Rv LmNvbYEacm9iaW5zLnRoYXJha2FuQGNvbW9kby5jb20wDQYJKoZIhvcNAQEFBQADggEBAHoa VJ/H1rq8vKCcgKtpJjc0V4zJ+MJpQo0piYBxHIn8oHYv2WccGfzeR+2r8HfEbkwuCr21ILj/ XKfcT4JCxbNNTNMVLnyYgC89meCKHdS1Huj8eN39oLulImQ1Lbfbklm8wS2ox1iq7ucORIA3 Dyz+fX/HNUlLRL+hevMXz4IvmcKCC/15Pd2xBuXfdulhzpZiCiLNDqfFwAYa9gVxruDHW2IM gU/Qfg7W9revhOTjEiBXDMKq5YXXWzr3Wjyk5J2vmfaX35JCIhL8a/64io6kAmCTh1Tjfe9W wo5zs2A8yKOBeZToA07+koyM+NRpREvDULLjamrIGz48ghvgSMsxggQMMIIECAIBATCBqDCB kzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMH U2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxOTA3BgNVBAMTMENPTU9ETyBD bGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIQX3nJ/gUX0cLAaAav ZDzGLzAJBgUrDgMCGgUAoIICODAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3 DQEJBTEPFw0xMTEwMTcwNjI4NDdaMCMGCSqGSIb3DQEJBDEWBBRztk+2nYPwsa08S9GHYcmm p0n5lTBfBgkqhkiG9w0BCQ8xUjBQMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzAOBggqhkiG 9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgwgbkGCSsG AQQBgjcQBDGBqzCBqDCBkzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hl c3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxOTA3 BgNVBAMTMENPTU9ETyBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBD QQIQX3nJ/gUX0cLAaAavZDzGLzCBuwYLKoZIhvcNAQkQAgsxgauggagwgZMxCzAJBgNVBAYT AkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAY BgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTkwNwYDVQQDEzBDT01PRE8gQ2xpZW50IEF1dGhl bnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0ECEF95yf4FF9HCwGgGr2Q8xi8wDQYJKoZI hvcNAQEBBQAEggEAe0mnu++OKT5LqGxpuTa5zPJ1cPrgPlUiel50piXVl+6e+gjTG3UH5jGb T8MlPE6WBKXqRokfIwpb6eBpWFs91KaOaMYh1fkMEWNbrTXSLgg7WzDI+TlGpOG8v8PjRxyM B7r7oHK6AT2UwGpE+FzxyQxHqpqpHfr/7FpgijcSKe+gYxPTLHyVHCz8a9do2vohpM9qkq/B 8AzhRdCKkHqSmMteHTzZtUYv7eT+IdgHWudQ2hZ8jqTaYPm99Lk7u9gkoubwAskbe501iGhk sh2Iz9TfrV71QA7JZ45Ae91DMZelaS8G2cb5W0om1JucviXA1E9xQl1HL0zxakA5P0uBWgAA AAAAAA== --------------ms070802060004070705040504--