From: | "tsunakawa(dot)takay(at)fujitsu(dot)com" <tsunakawa(dot)takay(at)fujitsu(dot)com> |
---|---|
To: | "k(dot)jamison(at)fujitsu(dot)com" <k(dot)jamison(at)fujitsu(dot)com> |
Cc: | 'Amit Kapila' <amit(dot)kapila16(at)gmail(dot)com>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | RE: [Patch] Optimize dropping of relation buffers using dlist |
Date: | 2020-12-10 08:28:56 |
Message-ID: | OSBPR01MB2982E5789065D70D5F86D336FECB0@OSBPR01MB2982.jpnprd01.prod.outlook.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
From: Jamison, Kirk/ジャミソン カーク <k(dot)jamison(at)fujitsu(dot)com>
> I added comment in 0004 the limitation of optimization when there are TOAST
> relations that use NON-PLAIN strategy. i.e. The optimization works if the data
> types used are integers, OID, bytea, etc. But for TOAST-able data types like text,
> the optimization will be skipped and force a full scan during recovery.
bytea is a TOAST-able type.
+ /*
+ * Enter the optimization if the total number of blocks to be
+ * invalidated for all relations is below the full scan threshold.
+ */
+ if (cached && nBlocksToInvalidate < BUF_DROP_FULL_SCAN_THRESHOLD)
Checking cached here doesn't seem to be necessary, because if cached is false, the control goes to the full scan path as below:
+ if (!cached)
+ goto buffer_full_scan;
+
Regards
Takayuki Tsunakawa
From | Date | Subject | |
---|---|---|---|
Next Message | Krunal Bauskar | 2020-12-10 09:18:12 | Re: Improving spin-lock implementation on ARM. |
Previous Message | Greg Nancarrow | 2020-12-10 08:20:22 | Re: Parallel INSERT (INTO ... SELECT ...) |