Wir hatten eine Tabelle mit etwa 30.000 Zeilen, die (aus einem bestimmten, nicht verwandten architektonischen Grund) UUIDs in einem Textfeld gespeichert und indiziert hatte. Mir ist aufgefallen, dass die Abfrageleistung langsamer war, als ich erwartet hatte. Ich habe eine neue UUID-Spalte erstellt, in den Text uuid-Primärschlüssel kopiert und unten verglichen. 2,652 ms gegenüber 0,029 ms. Ein ziemlicher Unterschied!
-- With text index
QUERY PLAN
Index Scan using tmptable_pkey on tmptable (cost=0.41..1024.34 rows=1 width=1797) (actual time=0.183..2.632 rows=1 loops=1)
Index Cond: (primarykey = '755ad490-9a34-4c9f-8027-45fa37632b04'::text)
Planning time: 0.121 ms
Execution time: 2.652 ms
-- With a uuid index
QUERY PLAN
Index Scan using idx_tmptable on tmptable (cost=0.29..2.51 rows=1 width=1797) (actual time=0.012..0.013 rows=1 loops=1)
Index Cond: (uuidkey = '755ad490-9a34-4c9f-8027-45fa37632b04'::uuid)
Planning time: 0.109 ms
Execution time: 0.029 ms