---------- Forwarded message ---------
De: jose fuenmayor <jafn82@xxxxxxxxx>
Date: vie., 14 de agosto de 2020 20:07
Subject: Re: Temp tables
To: 2.andriychuk <2.andriychuk@xxxxxxxxx>, <psql-admin@xxxxxxxxxxxxxx>
De: jose fuenmayor <jafn82@xxxxxxxxx>
Date: vie., 14 de agosto de 2020 20:07
Subject: Re: Temp tables
To: 2.andriychuk <2.andriychuk@xxxxxxxxx>, <psql-admin@xxxxxxxxxxxxxx>
Could you show me the modified query using with and join??
El vie., 14 de agosto de 2020 20:01, 2.andriychuk <2.andriychuk@xxxxxxxxx> escribió:
Hi Jose,If table2 is really big and you run this update on regular base just make sure you have a covering index on pair x and field2 with field1 in include option, then put both x=z and a.field2=b.field2 to where clause.You don't have to use subquery, just table straight forward, index will do the trick for you.Create index <index name> on table2(x, field2) include(field1);But include is available starting from v11.If version of your PostgreSQL < 11, use with to express your subquery, then use it in join.Best,IgorSent from my Verizon, Samsung Galaxy smartphone-------- Original message --------From: jose fuenmayor <jafn82@xxxxxxxxx>Date: 8/14/20 16:27 (GMT-08:00)Subject: Temp tablesHi all , i have a doubt wich query performs betterUpdate table a set field1=b.field 1From (select field1,field2From table2 where x=z) bWhere a.field2=b.field2OrCreate temp table y asselect field1,field2From table2 where x=z;Update table aset field1=b.field1From y as bWhere a.field2=b.field2I ve been told not to use subquerys, but i think this refers toSelect * from table where field1 in (select field1 from table2)Any thoughts?Thanks people y'all