pgsql: amcheck: Optimize speed of checking for unique constraint violat

From: Alexander Korotkov <akorotkov(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: amcheck: Optimize speed of checking for unique constraint violat
Date: 2024-07-28 11:04:14
Message-ID: E1sY1hG-001aoc-JI@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

amcheck: Optimize speed of checking for unique constraint violation

Currently, when amcheck validates a unique constraint, it visits the heap for
each index tuple. This commit implements skipping keys, which have only one
non-dedeuplicated index tuple (quite common case for unique indexes). That
gives substantial economy on index checking time.

Reported-by: Noah Misch
Discussion: https://postgr.es/m/20240325020323.fd.nmisch%40google.com
Author: Alexander Korotkov, Pavel Borisov

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/cdd6ab9d1f5396ec1097d51c21a224aa41118c9c

Modified Files
--------------
contrib/amcheck/verify_nbtree.c | 36 +++++++++++++++++++++++++++++++++---
1 file changed, 33 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Jeff Davis 2024-07-28 19:57:56 pgsql: Change collation cache to use simplehash.h.
Previous Message Alexander Korotkov 2024-07-28 10:43:18 Re: pgsql: Wait for WAL summarization to catch up before creating .partial