PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Leistung des PostgreSQL-UUID-Typs

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