Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1YXsiB-0007k4-Sw for pgsql-performance@arkaria.postgresql.org; Tue, 17 Mar 2015 14:43:16 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1YXsiB-0008Gm-AG for pgsql-performance@arkaria.postgresql.org; Tue, 17 Mar 2015 14:43:15 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1YXsi9-0008Eb-R6 for pgsql-performance@postgresql.org; Tue, 17 Mar 2015 14:43:13 +0000 Received: from mail-we0-f174.google.com ([74.125.82.174]) by magus.postgresql.org with esmtps (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1YXsi5-0000vG-Hu for pgsql-performance@postgresql.org; Tue, 17 Mar 2015 14:43:12 +0000 Received: by weop45 with SMTP id p45so9451343weo.0 for ; Tue, 17 Mar 2015 07:43:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:organization:user-agent :mime-version:to:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=v48b92RPvKR5gRtqQjcMMYEUut+JMoCyvkuj9lOa2dk=; b=XEzAXzQDUJqy0P4cHCfNWuCoKpSLDjhCns5rxI7NHciAyUc7J71h9ofthnKQ8QVuKb mn6KNLm0ZLhrjpCnIueSzhtyXvQbACkOSeJy+rqyXg4nmgKB9t42hFx+OtaQko7n96l9 d9P5A2OgfAADiP+m2P7uCjpVflzEuU+xRWNP3hWka65smw68yLut+8dhJmi1yzM+WSho PZh00wx0Ur3s6Q8DOKoSmc4/BEErGQaiJWiJijfVCuIvIuwA2nC9MUYzxTsYTCjHrGd+ IPOyegoklMC4i3U4aQE/D9o4KBKSb+Xo9GpfpmeBtt7nRteQ7sKw7fc8SZTB4k1JMW68 jS6A== X-Gm-Message-State: ALoCoQkSC23vtdrDN7gJcZqRoznPYn3n98JWRSj5EG63S/bl0TaOI4SP7UiMXzCj6ALrBu6SMpTfUCWH+ZRhbaLsJcbBeWfyI49Ftn6GxpyXmNDhPIQYWANGIso/oE0ZLPG4II6oW3Tt7/LqtpJOl0fPPoW7LIiHfCOlUBc2kbUBm1xbywm2tEXDZYcNYvbNXFCqaDXOPOOZ X-Received: by 10.194.156.202 with SMTP id wg10mr135582428wjb.70.1426603387509; Tue, 17 Mar 2015 07:43:07 -0700 (PDT) Received: from [192.168.1.163] (ip-78-45-139-138.net.upcbroadband.cz. [78.45.139.138]) by mx.google.com with ESMTPSA id k6sm2967520wia.6.2015.03.17.07.43.06 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Mar 2015 07:43:06 -0700 (PDT) Message-ID: <55083D74.4000601@2ndquadrant.com> Date: Tue, 17 Mar 2015 15:43:00 +0100 From: Tomas Vondra Organization: 2ndQuadrant User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: pgsql-performance@postgresql.org Subject: Re: Performance issues References: <84a6fe4be04c3ef0a714851977860ac8@mail.gmail.com> <160b8780d89add7f23c4eb9c3debb99d@mail.gmail.com> <55034A48.4040409@2ndquadrant.com> <849e75d9463938372dd4c516f5c5d89c@mail.gmail.com> <55037CEA.5050906@2ndquadrant.com> <55073272.20209@BlueTreble.com> <55074424.9050506@2ndquadrant.com> <55076FFB.9090105@BlueTreble.com> c5231342781287ff8cbc9ac1f20ff036@mail.gmail.com <61a7 a27428e588411e8ac1817043205c@mail.gmail.com> <550813CD.7040605@2ndquadrant.com> d6a86358c5e8d7ffe923ff307c3e8c7e@mail.gmail.com <55083236.8070900@2ndquadrant.com> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-performance Precedence: bulk Sender: pgsql-performance-owner@postgresql.org On 17.3.2015 15:19, Thomas Kellerer wrote: > Tomas Vondra schrieb am 17.03.2015 um 14:55: >> (2) using window functions, e.g. like this: >> >> SELECT * FROM ( >> SELECT *, >> ROW_NUMBER() OVER (PARTITION BY touchpoint_execution_id >> ORDER BY FROM max_creation_dt) AS rn >> FROM s_f_touchpoint_execution_status_history >> ) foo WHERE rn = 1 >> >> But estimating this is also rather difficult ... > > > From my experience rewriting something like the above using DISTINCT > ON is usually faster. How do you get the last record (with respect to a timestamp column) using a DISTINCT ON? -- Tomas Vondra http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance