Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vsZiM-007vUR-0g for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Feb 2026 05:03:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vsZiL-00DyOd-0m for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Feb 2026 05:03:05 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vsZiK-00DyON-2h for pgsql-hackers@lists.postgresql.org; Wed, 18 Feb 2026 05:03:05 +0000 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vsZiI-00000001JAg-14zt for pgsql-hackers@lists.postgresql.org; Wed, 18 Feb 2026 05:03:04 +0000 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-4359108fd24so3380371f8f.2 for ; Tue, 17 Feb 2026 21:03:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771390981; cv=none; d=google.com; s=arc-20240605; b=DoaCtr3S41k6VFFHeGJi5oq1NZ62zyLmq+b/CIIaG7UfmRe9w/UyyzXSzjub9Vcp3o BYF8ngeiiRWkZ3sVz7b/VdWHOn6EwIgHH/jbLIcdpxO82vk3zmZNjczTBdj2TU1fcXb5 GnDuRKcaePDWRJoIHkg1keoqxcaAOYPJ36m0h+89/YPZfSv1zkv0x7UDa7DU4XqTvhgM HCrKdKQd3Ss30GkAngFQhH0nwueZ8ZfBSQV4OwrL8lHAZprPACzV8/VSW0hGC1a2/G9A p1TWVP/4i1bP7JNpyWiTu/A/CPi57ZD1KzrjsahdNr90Y6Xsrc84E7eOqve55WaI1Qmb 6e6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=oBBMelFmGpO7e29qTGwl6Kqvt+SGRylWJW96XKwUUVo=; fh=m8Hj25larDcAYyHN6C2kbhG6ckJNzgnNvswx1SHMA7k=; b=X41ASFNoQ4yaD81jfiudHyWAEhJrAmmZnX1hKLk4+r9oTtGMh42x/Ot7GPrMtzH7/D 4WAJ+woAsOyUCbAyRp8CquXCjVW9s2tVJyJ0RsKBKeJ4Cky0d6S9UB6THBH9TN6eMA6I 7NfXdyTmGh7eA87h7QrP67ipgIaCsIlAEkhs/1PysheqIksQn05daaNVJtCZ/znkC9Tg jQI8nmfl/KZSFD8miGiI0Jkr9fi8rdnrKzAlP3yChxgUeb5QyeS1Ea8ZCY6bmQeLumci E09XkENqzcW2iBQ7Gk8zV/UsfbscDOp4gY7f13Iubp9BobfeYn3Q5G0ltK3DbXffhndX 9s8w==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bowt-ie.20230601.gappssmtp.com; s=20230601; t=1771390981; x=1771995781; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=oBBMelFmGpO7e29qTGwl6Kqvt+SGRylWJW96XKwUUVo=; b=KWQGcoiAP4Mg9N2M11c4HBNVJQg6Ndh09N7yBDvPGXlhD8nAgpnEkiOE2sr1zDf84A DfO9DsdP1t2H4eUUhrUAYXhVzkM4oRj1ZplOrH6gmMGdEyeiQhC1i/uDeFaacpkG/QvI tKW2wWbwsXEEoOU2OB77InFOsBFxZ4mNGeun4PXrk1eUnsD1m8Q98Rn2WJP2DInphgiC rj0FUH4gR0vCyNNcsjQwBBrF4Te/SHyPG3kap1KN+a9WZr1Pr4QZGDIiBrtWNyp5AKTS ztJXDZzaKuvqlMalrLek0SI8KnsT9bG5cyfpMg/+XYhZeWrjpn32EY6cvOG8wFWn5K9E mEZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771390981; x=1771995781; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=oBBMelFmGpO7e29qTGwl6Kqvt+SGRylWJW96XKwUUVo=; b=AhW9FD/bApENchyJ8OnX2KLqZXWcn4doMmGVixKJdJo9aHauG5yn+fuAiV0jrSQRB0 FGme5V/FegRGAWFe86UUK26HO7BsarM+k41jZURCfKlriXwy/x+kamaskKm2/nUBDAxd OYxhOKBiLC7lYNMjv2VOgT/xO/92ZjW+/ZhDoJeFhomHgU7sibBdgZ3PM2RonjmpIK+2 Y27gYbx2LWJv0a3n/BQ60M5pQfuQkRxeWU/D7Ni/26zXR54NEtHGPFH0FldH48ynS0Eh /g0ed52OOxMiChRjm+Vlufs0SJlCxBogWyJPRj3BvTRpb4m8QS4+ML1Y1Y1qFc9cu4st NDew== X-Forwarded-Encrypted: i=1; AJvYcCUzavmc+PMh8ZBO1GF7hmCAEiTrpzL38dDdgcJRuB8hzFTXmVCqqpEveBmCLdMhgsU/Q94ETJXRMOM/oPdW@lists.postgresql.org X-Gm-Message-State: AOJu0Yy8VRAPXpbyRwuHzc+Z+JnJRH4Kgs6ZMZDimaXQqe+IxOInuTDL xAowSfV1wzQseVh5/j11EYEF1p3KFdRFDe1A8K0DBoYbaJ9Y4+BTXweJ8HWPNw3sNabdNG4YIG9 twv8125WFPwuPWY1Gz2ha8FckSckckGJESpVK4S6wAg== X-Gm-Gg: AZuq6aLyQN7SaGQvZ+dpQr85sgIiKtF9AkTZ8vdlXPpBJZ7XiT0niZPIjocTnxIAF+L 0O7BvxuzQJg+HAAJ0PeaEetC6RGTqssfCuoV3VXXwpeZ+ouUaC93aWtpPRalHGXObSW9qHAI1Yh kZcNFfe0ccU7DA2uVI+eaV2ZbwNvZFECJPKTSgQfpOzF7T5NXpuQkULL9xN4kpB7Nu9xgZbJ/BA EY1DpPcZcHmt6HObZZO/n5OHLGWroo9dftVkSLtO3pNk1YSPsT44SJYuJz116aP7fE9EqiH7Mzl ShFkCxY= X-Received: by 2002:a05:6000:40dd:b0:42f:bb4a:9989 with SMTP id ffacd0b85a97d-43958e184eamr850877f8f.28.1771390980590; Tue, 17 Feb 2026 21:03:00 -0800 (PST) MIME-Version: 1.0 References: <64a2re223ajj4popowsyu4xekbuvvyfwkrihn5yzyrkwsmsuvp@2lls3tpww5dl> <52512325-b1f2-4fff-819e-f68122b2e427@vondra.me> <64mfcfv7iihc4pmqlxarii4esnmqry52ckz5m7lmwylnfnuxuz@oxh4ioxkjtep> In-Reply-To: From: Peter Geoghegan Date: Wed, 18 Feb 2026 00:02:34 -0500 X-Gm-Features: AaiRm50ExF4XM8dfm-YgUgvBpqdcxodHV-Xek90wMUtH4Bpt8Fmo93nuxQ49k-M Message-ID: Subject: Re: index prefetching To: Andres Freund Cc: Tomas Vondra , Alexandre Felipe , Thomas Munro , Nazir Bilal Yavuz , Robert Haas , Melanie Plageman , PostgreSQL Hackers , Georgios , Konstantin Knizhnik , Dilip Kumar Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, Feb 17, 2026 at 8:11=E2=80=AFPM Peter Geoghegan wrote: > FWIW, the version of the patch you're using is slightly different to > the one I have here. Since I worked on unrelated issues with things > like the cost of rescans with nestloop joins. Another difference is > that the memory allocation for the VM cache is now combined with the > main batch alloc, which seems to be more cache efficient. And saves us > memory for plain index scans. Here's a rebased branch with all of those mostly-unrelated optimization: https://github.com/petergeoghegan/postgres/tree/index-prefetch-master-vmcac= he-rescan-optimizations I suggest that you work off of this, on the off chance that these new optimizations end up mattering. Which is quite possible with anything that involves an index-only scan. --=20 Peter Geoghegan