Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1XEmRg-0004Tv-KT for pgsql-performance@arkaria.postgresql.org; Tue, 05 Aug 2014 21:39:00 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1XEmRf-0006Fq-PR for pgsql-performance@arkaria.postgresql.org; Tue, 05 Aug 2014 21:38:59 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1XEmRd-0006Cm-II for pgsql-performance@postgresql.org; Tue, 05 Aug 2014 21:38:58 +0000 Received: from post.officenet.no ([195.225.13.103]) by makus.postgresql.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1XEmRY-0002ut-78 for pgsql-performance@postgresql.org; Tue, 05 Aug 2014 21:38:55 +0000 Received: from [10.47.1.10] (helo=tc7-on) by post.officenet.no with esmtp (Exim 4.76) (envelope-from ) id 1XEmRP-0000Mj-Lb for pgsql-performance@postgresql.org; Tue, 05 Aug 2014 23:38:48 +0200 Received: from localhost ([127.0.0.1] helo=tc7-on) by tc7-on with esmtp (Exim 4.76) (envelope-from ) id 1XEmQq-0004sy-OO for pgsql-performance@postgresql.org; Tue, 05 Aug 2014 23:38:08 +0200 Date: Tue, 5 Aug 2014 23:38:08 +0200 (CEST) From: Andreas Joseph Krogh To: "pgsql-performance@postgresql.org" Message-ID: Subject: Query performing very bad and sometimes good MIME-Version: 1.0 X-Mailer: Visena Mail 1.9.0-SNAPSHOT X-Spam-Score: -1.0 X-Spam-Report: SpamAssasin (score=-1.0, required 5.0 ALL_TRUSTED=-1, HTML_MESSAGE=0.001) X-Pg-Spam-Score: -1.9 (-) Content-Type: multipart/related; boundary="----=_Part_61_216126094.1407274688387" 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 ------=_Part_60_1071263106.1407274688387 Content-Type: multipart/related; boundary="----=_Part_61_216126094.1407274688387" ------=_Part_61_216126094.1407274688387 Content-Type: multipart/alternative; boundary="----=_Part_62_1233964990.1407274688457" ------=_Part_62_1233964990.1407274688457 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi all. =C2=A0 Running version: on=3D> select version(); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ve= rsion =20 ---------------------------------------------------------------------------= --------------------------------- =C2=A0PostgreSQL 9.3.2 on x86_64-unknown-linux-gnu, compiled by gcc (Ubunt= u/Linaro=20 4.6.3-1ubuntu5) 4.6.3, 64-bit =C2=A0 =C2=A0 I have this query. =C2=A0 prepa= re=20 list_un_done_in_folder_q AS SELECT em.entity_id, substr(em.plain_text_content, 1, 101) as=20 plain_text_content, del.entity_id as delivery_id, del.subject, =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 coalesce(prop.is_seen, fal= se) AS is_seen, =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 coalesce(prop.= is_done, false)=20 AS is_done, =C2=A0=C2=A0=C2=A0 del.received_timestamp, del.sent_timestamp, ef.name as = from_name,=20 ef.address as from_address =C2=A0=C2=A0=C2=A0 , ARRAY(select a.name from origo_email_address a inner = join=20 origo_email_address_owner o ON o.address_id =3D a.entity_id AND o.recipient= _type=20 =3D 'TO' AND o.message_id =3D em.entity_id ORDER BY o.address_index ASC) as= =20 recipient_to_name =C2=A0=C2=A0=C2=A0 , ARRAY(select a.address from origo_email_address a inn= er join=20 origo_email_address_owner o ON o.address_id =3D a.entity_id AND o.recipient= _type=20 =3D 'TO' AND o.message_id =3D em.entity_id ORDER BY o.address_index ASC) as= =20 recipient_to_address =C2=A0=C2=A0=C2=A0 , prop.followup_id, prop.is_forwarded as is_forwarded, = prop.is_replied as=20 is_replied, fm.folder_id =C2=A0=C2=A0=C2=A0 , (SELECT =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 person_fav.pri= ority =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 FROM origo_favourite_owner person_fav =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 WHERE person_fav.favourite_for =3D $1 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 A= ND person_fav.favourite_item =3D pers.entity_id) =C2=A0=C2=A0=C2=A0 AS person_favourite_priority =C2=A0=C2=A0=C2=A0 , (select company_fav.priority FROM origo_favourite_own= er company_fav=20 WHERE company_fav.favourite_for =3D $2 =20 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=20 AND company_fav.favourite_item =3D comp.entity_id) =C2=A0=C2=A0=C2=A0 AS company_favourite_priority =C2=A0=C2=A0=C2=A0 , pers.entity_id as from_person_entity_id, pers.id as f= rom_person_id,=20 pers.onp_user_id, pers.firstname as from_firstname, pers.lastname as=20 from_lastname =C2=A0=C2=A0=C2=A0 , comp.entity_id as from_company_entity_id, comp.compan= yname as=20 from_company_name =C2=A0=C2=A0=C2=A0 , em.attachment_size FROM origo_email_delivery del JOIN= =20 origo_email_message em ON (del.message_id =3D em.entity_id) =C2=A0=C2=A0=C2=A0 LEFT OUTER JOIN onp_crm_person pers ON (em.from_entity_= id =3D=20 pers.entity_id) =C2=A0=C2=A0=C2=A0 LEFT OUTER JOIN onp_crm_relation comp ON (comp.entity_i= d =3D=20 pers.relation_id) =C2=A0=C2=A0=C2=A0 JOIN origo_email_message_property prop ON (em.entity_id= =3D prop.message_id=20 AND prop.owner_id =3D $3) =C2=A0=C2=A0=C2=A0 LEFT OUTER JOIN origo_email_address ef ON em.from_id = =3D ef.entity_id =C2=A0=C2=A0=C2=A0 LEFT OUTER JOIN origo_email_folder_message fm ON fm.del= ivery_id =3D=20 del.entity_id WHERE 1 =3D 1 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 AND prop.is_done =3D FALSE =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 AND fm.folder_id =3D $4 ORDER BY=C2=A0 del.= received_timestamp DESC LIMIT $5=20 OFFSET $6; =C2=A0 Which sometimes performs really bad, although all indexes= are=20 being used. =C2=A0 Here is the explain plan: =C2=A0 on=3D> explain analyze = execute=20 list_un_done_in_folder_q (3,3,3,44961, 101, 0); =20 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=20 QUERY PLAN =20 ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---- =C2=A0Limit=C2=A0 (cost=3D2.53..52101.30 rows=3D101 width=3D641) (actual= =20 time=3D0.343..311765.063 rows=3D75 loops=3D1) =C2=A0=C2=A0 ->=C2=A0 Nested Loop Left Join=C2=A0 (cost=3D2.53..1365402.92= rows=3D2647 width=3D641)=20 (actual time=3D0.342..311765.012 rows=3D75 loops=3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nested Loop Left= Join=C2=A0 (cost=3D2.10..1248967.97 rows=3D2647=20 width=3D607) (actual time=3D0.202..311215.044 rows=3D75 loops=3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 ->=C2=A0 Nested Loop Left Join=C2=A0 (cost=3D1.83..1248018.82 = rows=3D2647=20 width=3D592) (actual time=3D0.201..311214.888 rows=3D75 loops=3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nested Loop=C2=A0= (cost=3D1.55..1247217.37 rows=3D2647=20 width=3D565) (actual time=3D0.199..311214.695 rows=3D75 loops=3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 ->=C2=A0 Nested Loop=C2=A0 (cost=3D1.13..1240583.78 rows=3D2647= =20 width=3D126) (actual time=3D0.194..311213.727 rows=3D75 loops=3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nested Loop=C2=A0 (c= ost=3D0.71..1230153.64=20 rows=3D20567 width=3D118) (actual time=3D0.029..311153.648 rows=3D12866 loo= ps=3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 ->=C2=A0 Index Scan Backward using=20 origo_email_delivery_received_idx on origo_email_delivery del=C2=A0=20 (cost=3D0.42..1102717.48 rows=3D354038 width=3D98) (actual time=3D0.017..30= 9196.670=20 rows=3D354296 loops=3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 ->=C2=A0 Index Scan using=20 origo_email_prop_owner_message_not_done_idx on origo_email_message_property= =20 prop=C2=A0 (cost=3D0.29..0.35 rows=3D1 width=3D20) (actual time=3D0.004..0.= 004 rows=3D0=20 loops=3D354296) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: ((owner_id =3D=20 3::bigint) AND (message_id =3D del.message_id)) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Only Scan usin= g=20 origo_email_folder_message_delivery_id_folder_id_key on=20 origo_email_folder_message fm=C2=A0 (cost=3D0.42..0.50 rows=3D1 width=3D16)= (actual=20 time=3D0.004..0.004 rows=3D0 loops=3D12866) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 Index Cond: ((delivery_id =3D=20 del.entity_id) AND (folder_id =3D 44961::bigint)) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 Heap Fetches: 75 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 ->=C2=A0 Index Scan using origo_email_message_pkey on=20 origo_email_message em=C2=A0 (cost=3D0.42..2.50 rows=3D1 width=3D455) (actu= al=20 time=3D0.010..0.011 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (entity_id =3D de= l.message_id) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using = origo_person_entity_id_idx on=20 onp_crm_person pers=C2=A0 (cost=3D0.28..0.29 rows=3D1 width=3D35) (actual= =20 time=3D0.001..0.001 rows=3D0 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 Index Cond: (em.from_entity_id =3D entity_id) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 ->=C2=A0 Index Scan using onp_crm_relation_pkey on onp_crm_rel= ation=20 comp=C2=A0 (cost=3D0.27..0.35 rows=3D1 width=3D19) (actual time=3D0.001..0.= 001 rows=3D0=20 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (entity_id =3D= pers.relation_id) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using= origo_email_address_pkey on origo_email_address=20 ef=C2=A0 (cost=3D0.43..0.68 rows=3D1 width=3D50) (actual time=3D3.165..3.16= 6 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 Index Cond: (em.from_id =3D entity_id) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 1 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nest= ed Loop=C2=A0 (cost=3D0.85..16.90 rows=3D1 width=3D24) (actual=20 time=3D1.880..1.882 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using=20 origo_email_address_owner_message_id_recipient_type_address_key on=20 origo_email_address_owner o=C2=A0 (cost=3D0.42..8.45 rows=3D1 width=3D12) (= actual=20 time=3D1.759..1.759 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: ((= message_id =3D em.entity_id) AND=20 ((recipient_type)::text =3D 'TO'::text)) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using origo_email_address_pkey= on=20 origo_email_address a=C2=A0 (cost=3D0.43..8.45 rows=3D1 width=3D28) (actual= =20 time=3D0.095..0.095 rows=3D1 loops=3D93) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (e= ntity_id =3D o.address_id) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 2 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nest= ed Loop=C2=A0 (cost=3D0.85..16.90 rows=3D1 width=3D26) (actual=20 time=3D0.009..0.010 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using=20 origo_email_address_owner_message_id_recipient_type_address_key on=20 origo_email_address_owner o_1=C2=A0 (cost=3D0.42..8.45 rows=3D1 width=3D12)= (actual=20 time=3D0.005..0.006 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: ((= message_id =3D em.entity_id) AND=20 ((recipient_type)::text =3D 'TO'::text)) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using origo_email_address_pkey= on=20 origo_email_address a_1=C2=A0 (cost=3D0.43..8.45 rows=3D1 width=3D30) (actu= al=20 time=3D0.002..0.002 rows=3D1 loops=3D93) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (e= ntity_id =3D o_1.address_id) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 3 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Seq = Scan on origo_favourite_owner person_fav=C2=A0 (cost=3D0.00..4.75=20 rows=3D1 width=3D4) (actual time=3D0.024..0.024 rows=3D0 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 Filter: ((favourite_for =3D 3::bigint) AND (favour= ite_item =3D=20 pers.entity_id)) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 Rows Removed by Filter: 183 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 4 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Seq = Scan on origo_favourite_owner company_fav=C2=A0=20 (cost=3D0.00..4.75 rows=3D1 width=3D4) (actual time=3D0.021..0.021 rows=3D0= loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 Filter: ((favourite_for =3D 3::bigint) AND (favour= ite_item =3D=20 comp.entity_id)) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 Rows Removed by Filter: 183 =C2=A0Total runtime: 311765.351 ms (42 rows) =C2=A0 Some-times it performs much better (but still not good): = =C2=A0 on=3D>=20 explain analyze execute list_un_done_in_folder_q (3,3,3,44961, 101, 0); =20 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=20 QUERY PLAN =20 ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= -- =C2=A0Limit=C2=A0 (cost=3D2.53..52101.45 rows=3D101 width=3D641) (actual t= ime=3D0.276..3480.876=20 rows=3D75 loops=3D1) =C2=A0=C2=A0 ->=C2=A0 Nested Loop Left Join=C2=A0 (cost=3D2.53..1365406.92= rows=3D2647 width=3D641)=20 (actual time=3D0.276..3480.846 rows=3D75 loops=3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nested Loop Left= Join=C2=A0 (cost=3D2.10..1248971.97 rows=3D2647=20 width=3D607) (actual time=3D0.158..3461.045 rows=3D75 loops=3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 ->=C2=A0 Nested Loop Left Join=C2=A0 (cost=3D1.83..1248022.82 = rows=3D2647=20 width=3D592) (actual time=3D0.156..3460.955 rows=3D75 loops=3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nested Loop=C2=A0= (cost=3D1.55..1247221.37 rows=3D2647=20 width=3D565) (actual time=3D0.155..3449.744 rows=3D75 loops=3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 ->=C2=A0 Nested Loop=C2=A0 (cost=3D1.13..1240587.78 rows=3D2647= =20 width=3D126) (actual time=3D0.148..3449.134 rows=3D75 loops=3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nested Loop=C2=A0 (c= ost=3D0.71..1230157.64=20 rows=3D20567 width=3D118) (actual time=3D0.034..3407.201 rows=3D12870 loops= =3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 ->=C2=A0 Index Scan Backward using=20 origo_email_delivery_received_idx on origo_email_delivery del=C2=A0=20 (cost=3D0.42..1102717.48 rows=3D354038 width=3D98) (actual time=3D0.019..24= 31.773=20 rows=3D354300 loops=3D1) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 ->=C2=A0 Index Scan using=20 origo_email_prop_owner_message_not_done_idx on origo_email_message_property= =20 prop=C2=A0 (cost=3D0.29..0.35 rows=3D1 width=3D20) (actual time=3D0.002..0.= 002 rows=3D0=20 loops=3D354300) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: ((owner_id =3D=20 3::bigint) AND (message_id =3D del.message_id)) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Only Scan usin= g=20 origo_email_folder_message_delivery_id_folder_id_key on=20 origo_email_folder_message fm=C2=A0 (cost=3D0.42..0.50 rows=3D1 width=3D16)= (actual=20 time=3D0.003..0.003 rows=3D0 loops=3D12870) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 Index Cond: ((delivery_id =3D=20 del.entity_id) AND (folder_id =3D 44961::bigint)) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 Heap Fetches: 75 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 ->=C2=A0 Index Scan using origo_email_message_pkey on=20 origo_email_message em=C2=A0 (cost=3D0.42..2.50 rows=3D1 width=3D455) (actu= al=20 time=3D0.007..0.007 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (entity_id =3D de= l.message_id) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using = origo_person_entity_id_idx on=20 onp_crm_person pers=C2=A0 (cost=3D0.28..0.29 rows=3D1 width=3D35) (actual= =20 time=3D0.000..0.000 rows=3D0 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 Index Cond: (em.from_entity_id =3D entity_id) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 ->=C2=A0 Index Scan using onp_crm_relation_pkey on onp_crm_rel= ation=20 comp=C2=A0 (cost=3D0.27..0.35 rows=3D1 width=3D19) (actual time=3D0.000..0.= 000 rows=3D0=20 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (entity_id =3D= pers.relation_id) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using= origo_email_address_pkey on origo_email_address=20 ef=C2=A0 (cost=3D0.43..0.68 rows=3D1 width=3D50) (actual time=3D0.007..0.00= 8 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 Index Cond: (em.from_id =3D entity_id) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 1 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nest= ed Loop=C2=A0 (cost=3D0.85..16.90 rows=3D1 width=3D24) (actual=20 time=3D0.012..0.014 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using=20 origo_email_address_owner_message_id_recipient_type_address_key on=20 origo_email_address_owner o=C2=A0 (cost=3D0.42..8.45 rows=3D1 width=3D12) (= actual=20 time=3D0.008..0.008 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: ((= message_id =3D em.entity_id) AND=20 ((recipient_type)::text =3D 'TO'::text)) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using origo_email_address_pkey= on=20 origo_email_address a=C2=A0 (cost=3D0.43..8.45 rows=3D1 width=3D28) (actual= =20 time=3D0.002..0.003 rows=3D1 loops=3D93) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (e= ntity_id =3D o.address_id) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 2 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nest= ed Loop=C2=A0 (cost=3D0.85..16.90 rows=3D1 width=3D26) (actual=20 time=3D0.007..0.008 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using=20 origo_email_address_owner_message_id_recipient_type_address_key on=20 origo_email_address_owner o_1=C2=A0 (cost=3D0.42..8.45 rows=3D1 width=3D12)= (actual=20 time=3D0.004..0.004 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: ((= message_id =3D em.entity_id) AND=20 ((recipient_type)::text =3D 'TO'::text)) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using origo_email_address_pkey= on=20 origo_email_address a_1=C2=A0 (cost=3D0.43..8.45 rows=3D1 width=3D30) (actu= al=20 time=3D0.002..0.002 rows=3D1 loops=3D93) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (e= ntity_id =3D o_1.address_id) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 3 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Seq = Scan on origo_favourite_owner person_fav=C2=A0 (cost=3D0.00..4.75=20 rows=3D1 width=3D4) (actual time=3D0.027..0.027 rows=3D0 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 Filter: ((favourite_for =3D 3::bigint) AND (favour= ite_item =3D=20 pers.entity_id)) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 Rows Removed by Filter: 183 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 4 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Seq = Scan on origo_favourite_owner company_fav=C2=A0=20 (cost=3D0.00..4.75 rows=3D1 width=3D4) (actual time=3D0.023..0.023 rows=3D0= loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 Filter: ((favourite_for =3D 3::bigint) AND (favour= ite_item =3D=20 comp.entity_id)) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 Rows Removed by Filter: 183 =C2=A0Total runtime: 3481.136 ms (42 rows) =C2=A0 Does anyone see anything obvious or have any hints what t= o=20 investigate further? =C2=A0 Thanks. =C2=A0 -- Andreas Joseph Krogh CTO / Pa= rtner - Visena=20 AS Mobile: +47 909 56 963 andreas@visena.com =20 www.visena.com ------=_Part_62_1233964990.1407274688457 Content-Type: text/html;charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi all.
=C2=A0
Running version:
on=3D> select version();
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 versi= on
---------------------------------------------------------------------------= ---------------------------------
=C2=A0PostgreSQL 9.3.2 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu= /Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit
=C2=A0
=C2=A0
I have this query.
=C2=A0
prepare lis= t_un_done_in_folder_q AS
SELECT em.entity_id, substr(em.plain_text_content, 1, 101) as plain_text_co= ntent, del.entity_id as delivery_id, del.subject,
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 coalesce(prop.is_seen, false)= AS is_seen,
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 coalesce(prop.is_= done, false) AS is_done,
=C2=A0=C2=A0=C2=A0 del.received_timestamp, del.sent_timestamp, ef.name as f= rom_name, ef.address as from_address
=C2=A0=C2=A0=C2=A0 , ARRAY(select a.name from origo_email_address a inner j= oin origo_email_address_owner o ON o.address_id =3D a.entity_id AND o.recip= ient_type =3D 'TO' AND o.message_id =3D em.entity_id ORDER BY o.address_ind= ex ASC) as recipient_to_name
=C2=A0=C2=A0=C2=A0 , ARRAY(select a.address from origo_email_address a inne= r join origo_email_address_owner o ON o.address_id =3D a.entity_id AND o.re= cipient_type =3D 'TO' AND o.message_id =3D em.entity_id ORDER BY o.address_= index ASC) as recipient_to_address
=C2=A0=C2=A0=C2=A0 , prop.followup_id, prop.is_forwarded as is_forwarded, p= rop.is_replied as is_replied, fm.folder_id
=C2=A0=C2=A0=C2=A0 , (SELECT
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 person_fav.priori= ty
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 FROM origo_favourite_owner person_fav<= br> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 WHERE person_fav.favourite_for =3D $1<= br> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 AN= D person_fav.favourite_item =3D pers.entity_id)
=C2=A0=C2=A0=C2=A0 AS person_favourite_priority
=C2=A0=C2=A0=C2=A0 , (select company_fav.priority FROM origo_favourite_owne= r company_fav WHERE company_fav.favourite_for =3D $2
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 AND company_fav.favourite_item =3D comp.entity_id)=
=C2=A0=C2=A0=C2=A0 AS company_favourite_priority
=C2=A0=C2=A0=C2=A0 , pers.entity_id as from_person_entity_id, pers.id as fr= om_person_id, pers.onp_user_id, pers.firstname as from_firstname, pers.last= name as from_lastname
=C2=A0=C2=A0=C2=A0 , comp.entity_id as from_company_entity_id, comp.company= name as from_company_name
=C2=A0=C2=A0=C2=A0 , em.attachment_size
FROM origo_= email_delivery del JOIN origo_email_message em ON (del.message_id =3D em.en= tity_id)
=C2=A0=C2=A0=C2=A0 LEFT OUTER JOIN onp_crm_person pers ON (em.from_entity_i= d =3D pers.entity_id)
=C2=A0=C2=A0=C2=A0 LEFT OUTER JOIN onp_crm_relation comp ON (comp.entity_id= =3D pers.relation_id)
=C2=A0=C2=A0=C2=A0 JOIN origo_email_message_property prop ON (em.entity_id = =3D prop.message_id AND prop.owner_id =3D $3)
=C2=A0=C2=A0=C2=A0 LEFT OUTER JOIN origo_email_address ef ON em.from_id =3D= ef.entity_id
=C2=A0=C2=A0=C2=A0 LEFT OUTER JOIN origo_email_folder_message fm ON fm.deli= very_id =3D del.entity_id
WHERE 1 =3D 1
=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 AND prop.is_done =3D FALSE
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 AND fm.folder_id =3D $4
ORDER BY=C2= =A0 del.received_timestamp DESC LIMIT $5 OFFSET $6;
=C2=A0
Which sometimes performs really bad, although all indexes are= being used.
=C2=A0
Here is the explain plan:
=C2=A0
on=3D> e= xplain analyze execute list_un_done_in_folder_q (3,3,3,44961, 101, 0);
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 QUERY PLAN
---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ----
=C2=A0Limit=C2=A0 (cost=3D2.53..52101.30 rows=3D101 width=3D641) (actual ti= me=3D0.343..311765.063 rows=3D75 loops=3D1)
=C2=A0=C2=A0 ->=C2=A0 Nested Loop Left Join=C2=A0 (cost=3D2.53..1365402.= 92 rows=3D2647 width=3D641) (actual time=3D0.342..311765.012 rows=3D75 loop= s=3D1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nested Loop Le= ft Join=C2=A0 (cost=3D2.10..1248967.97 rows=3D2647 width=3D607) (actual tim= e=3D0.202..311215.044 rows=3D75 loops=3D1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 ->=C2=A0 Nested Loop Left Join=C2=A0 (cost=3D1.83..1248018.82 = rows=3D2647 width=3D592) (actual time=3D0.201..311214.888 rows=3D75 loops= =3D1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nested Loop=C2=A0= (cost=3D1.55..1247217.37 rows=3D2647 width=3D565) (actual time=3D0.199..31= 1214.695 rows=3D75 loops=3D1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 ->=C2=A0 Nested Loop=C2=A0 (cost=3D1.13..1240583.78 rows=3D2647 w= idth=3D126) (actual time=3D0.194..311213.727 rows=3D75 loops=3D1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nested Loop=C2=A0 (c= ost=3D0.71..1230153.64 rows=3D20567 width=3D118) (actual time=3D0.029..3111= 53.648 rows=3D12866 loops=3D1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 ->=C2=A0 Index Scan Backward using origo_email_delivery_received_idx= on origo_email_delivery del=C2=A0 (cost=3D0.42..1102717.48 rows=3D354038 w= idth=3D98) (actual time=3D0.017..309196.670 rows=3D354296 loops=3D1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 ->=C2=A0 Index Scan using origo_email_prop_owner_message_not_done_id= x on origo_email_message_property prop=C2=A0 (cost=3D0.29..0.35 rows=3D1 wi= dth=3D20) (actual time=3D0.004..0.004 rows=3D0 loops=3D354296)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: ((owner_id =3D 3::bigin= t) AND (message_id =3D del.message_id))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Only Scan usin= g origo_email_folder_message_delivery_id_folder_id_key on origo_email_folde= r_message fm=C2=A0 (cost=3D0.42..0.50 rows=3D1 width=3D16) (actual time=3D0= .004..0.004 rows=3D0 loops=3D12866)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 Index Cond: ((delivery_id =3D del.entity_id) AND (folder_id =3D 44961::= bigint))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 Heap Fetches: 75
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 ->=C2=A0 Index Scan using origo_email_message_pkey on origo_email= _message em=C2=A0 (cost=3D0.42..2.50 rows=3D1 width=3D455) (actual time=3D0= .010..0.011 rows=3D1 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (entity_id =3D del.m= essage_id)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using = origo_person_entity_id_idx on onp_crm_person pers=C2=A0 (cost=3D0.28..0.29 = rows=3D1 width=3D35) (actual time=3D0.001..0.001 rows=3D0 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 Index Cond: (em.from_entity_id =3D entity_id)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 ->=C2=A0 Index Scan using onp_crm_relation_pkey on onp_crm_rel= ation comp=C2=A0 (cost=3D0.27..0.35 rows=3D1 width=3D19) (actual time=3D0.0= 01..0.001 rows=3D0 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (entity_id =3D pe= rs.relation_id)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan usi= ng origo_email_address_pkey on origo_email_address ef=C2=A0 (cost=3D0.43..0= .68 rows=3D1 width=3D50) (actual time=3D3.165..3.166 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 Index Cond: (em.from_id =3D entity_id)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 1
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Ne= sted Loop=C2=A0 (cost=3D0.85..16.90 rows=3D1 width=3D24) (actual time=3D1.8= 80..1.882 rows=3D1 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using origo_email_address_owne= r_message_id_recipient_type_address_key on origo_email_address_owner o=C2= =A0 (cost=3D0.42..8.45 rows=3D1 width=3D12) (actual time=3D1.759..1.759 row= s=3D1 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: ((mes= sage_id =3D em.entity_id) AND ((recipient_type)::text =3D 'TO'::text))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using origo_email_address_pkey= on origo_email_address a=C2=A0 (cost=3D0.43..8.45 rows=3D1 width=3D28) (ac= tual time=3D0.095..0.095 rows=3D1 loops=3D93)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (enti= ty_id =3D o.address_id)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 2
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Ne= sted Loop=C2=A0 (cost=3D0.85..16.90 rows=3D1 width=3D26) (actual time=3D0.0= 09..0.010 rows=3D1 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using origo_email_address_owne= r_message_id_recipient_type_address_key on origo_email_address_owner o_1=C2= =A0 (cost=3D0.42..8.45 rows=3D1 width=3D12) (actual time=3D0.005..0.006 row= s=3D1 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: ((mes= sage_id =3D em.entity_id) AND ((recipient_type)::text =3D 'TO'::text))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using origo_email_address_pkey= on origo_email_address a_1=C2=A0 (cost=3D0.43..8.45 rows=3D1 width=3D30) (= actual time=3D0.002..0.002 rows=3D1 loops=3D93)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (enti= ty_id =3D o_1.address_id)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 3
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Se= q Scan on origo_favourite_owner person_fav=C2=A0 (cost=3D0.00..4.75 rows=3D= 1 width=3D4) (actual time=3D0.024..0.024 rows=3D0 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Filter: ((favourite_for =3D 3::bigint) AND (favourite= _item =3D pers.entity_id))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Rows Removed by Filter: 183
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 4
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Se= q Scan on origo_favourite_owner company_fav=C2=A0 (cost=3D0.00..4.75 rows= =3D1 width=3D4) (actual time=3D0.021..0.021 rows=3D0 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Filter: ((favourite_for =3D 3::bigint) AND (favourite= _item =3D comp.entity_id))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Rows Removed by Filter: 183
=C2=A0Total runtime: 311765.351 ms
(42 rows)
=C2=A0
Some-times it performs much better (but still not good):
=C2=A0
on=3D> e= xplain analyze execute list_un_done_in_folder_q (3,3,3,44961, 101, 0);
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 QUERY PLAN
---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= --
=C2=A0Limit=C2=A0 (cost=3D2.53..52101.45 rows=3D101 width=3D641) (actual ti= me=3D0.276..3480.876 rows=3D75 loops=3D1)
=C2=A0=C2=A0 ->=C2=A0 Nested Loop Left Join=C2=A0 (cost=3D2.53..1365406.= 92 rows=3D2647 width=3D641) (actual time=3D0.276..3480.846 rows=3D75 loops= =3D1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nested Loop Le= ft Join=C2=A0 (cost=3D2.10..1248971.97 rows=3D2647 width=3D607) (actual tim= e=3D0.158..3461.045 rows=3D75 loops=3D1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 ->=C2=A0 Nested Loop Left Join=C2=A0 (cost=3D1.83..1248022.82 = rows=3D2647 width=3D592) (actual time=3D0.156..3460.955 rows=3D75 loops=3D1= )
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nested Loop=C2=A0= (cost=3D1.55..1247221.37 rows=3D2647 width=3D565) (actual time=3D0.155..34= 49.744 rows=3D75 loops=3D1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 ->=C2=A0 Nested Loop=C2=A0 (cost=3D1.13..1240587.78 rows=3D2647 w= idth=3D126) (actual time=3D0.148..3449.134 rows=3D75 loops=3D1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Nested Loop=C2=A0 (c= ost=3D0.71..1230157.64 rows=3D20567 width=3D118) (actual time=3D0.034..3407= .201 rows=3D12870 loops=3D1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 ->=C2=A0 Index Scan Backward using origo_email_delivery_received_idx= on origo_email_delivery del=C2=A0 (cost=3D0.42..1102717.48 rows=3D354038 w= idth=3D98) (actual time=3D0.019..2431.773 rows=3D354300 loops=3D1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 ->=C2=A0 Index Scan using origo_email_prop_owner_message_not_done_id= x on origo_email_message_property prop=C2=A0 (cost=3D0.29..0.35 rows=3D1 wi= dth=3D20) (actual time=3D0.002..0.002 rows=3D0 loops=3D354300)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: ((owner_id =3D 3::bigin= t) AND (message_id =3D del.message_id))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Only Scan usin= g origo_email_folder_message_delivery_id_folder_id_key on origo_email_folde= r_message fm=C2=A0 (cost=3D0.42..0.50 rows=3D1 width=3D16) (actual time=3D0= .003..0.003 rows=3D0 loops=3D12870)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 Index Cond: ((delivery_id =3D del.entity_id) AND (folder_id =3D 44961::= bigint))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 Heap Fetches: 75
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 ->=C2=A0 Index Scan using origo_email_message_pkey on origo_email= _message em=C2=A0 (cost=3D0.42..2.50 rows=3D1 width=3D455) (actual time=3D0= .007..0.007 rows=3D1 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (entity_id =3D del.m= essage_id)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using = origo_person_entity_id_idx on onp_crm_person pers=C2=A0 (cost=3D0.28..0.29 = rows=3D1 width=3D35) (actual time=3D0.000..0.000 rows=3D0 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 Index Cond: (em.from_entity_id =3D entity_id)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 ->=C2=A0 Index Scan using onp_crm_relation_pkey on onp_crm_rel= ation comp=C2=A0 (cost=3D0.27..0.35 rows=3D1 width=3D19) (actual time=3D0.0= 00..0.000 rows=3D0 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (entity_id =3D pe= rs.relation_id)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan usi= ng origo_email_address_pkey on origo_email_address ef=C2=A0 (cost=3D0.43..0= .68 rows=3D1 width=3D50) (actual time=3D0.007..0.008 rows=3D1 loops=3D75) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 Index Cond: (em.from_id =3D entity_id)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 1
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Ne= sted Loop=C2=A0 (cost=3D0.85..16.90 rows=3D1 width=3D24) (actual time=3D0.0= 12..0.014 rows=3D1 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using origo_email_address_owne= r_message_id_recipient_type_address_key on origo_email_address_owner o=C2= =A0 (cost=3D0.42..8.45 rows=3D1 width=3D12) (actual time=3D0.008..0.008 row= s=3D1 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: ((mes= sage_id =3D em.entity_id) AND ((recipient_type)::text =3D 'TO'::text))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using origo_email_address_pkey= on origo_email_address a=C2=A0 (cost=3D0.43..8.45 rows=3D1 width=3D28) (ac= tual time=3D0.002..0.003 rows=3D1 loops=3D93)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (enti= ty_id =3D o.address_id)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 2
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Ne= sted Loop=C2=A0 (cost=3D0.85..16.90 rows=3D1 width=3D26) (actual time=3D0.0= 07..0.008 rows=3D1 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using origo_email_address_owne= r_message_id_recipient_type_address_key on origo_email_address_owner o_1=C2= =A0 (cost=3D0.42..8.45 rows=3D1 width=3D12) (actual time=3D0.004..0.004 row= s=3D1 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: ((mes= sage_id =3D em.entity_id) AND ((recipient_type)::text =3D 'TO'::text))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Index Scan using origo_email_address_pkey= on origo_email_address a_1=C2=A0 (cost=3D0.43..8.45 rows=3D1 width=3D30) (= actual time=3D0.002..0.002 rows=3D1 loops=3D93)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Index Cond: (enti= ty_id =3D o_1.address_id)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 3
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Se= q Scan on origo_favourite_owner person_fav=C2=A0 (cost=3D0.00..4.75 rows=3D= 1 width=3D4) (actual time=3D0.027..0.027 rows=3D0 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Filter: ((favourite_for =3D 3::bigint) AND (favourite= _item =3D pers.entity_id))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Rows Removed by Filter: 183
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SubPlan 4
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ->=C2=A0 Se= q Scan on origo_favourite_owner company_fav=C2=A0 (cost=3D0.00..4.75 rows= =3D1 width=3D4) (actual time=3D0.023..0.023 rows=3D0 loops=3D75)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Filter: ((favourite_for =3D 3::bigint) AND (favourite= _item =3D comp.entity_id))
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Rows Removed by Filter: 183
=C2=A0Total runtime: 3481.136 ms
(42 rows)
=C2=A0
Does anyone see anything obvious or have any hints what to investigate= further?
=C2=A0
Thanks.
=C2=A0
--
Andrea= s Joseph Krogh
CTO / Partner<= /span> - Visena AS
Mobile: +47 90= 9 56 963
=3D""
------=_Part_62_1233964990.1407274688457-- ------=_Part_61_216126094.1407274688387 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Disposition: inline Content-ID: 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 ------=_Part_61_216126094.1407274688387-- ------=_Part_60_1071263106.1407274688387--