PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Performances du type UUID PostgreSQL

Nous avions une table avec environ 30 000 lignes qui (pour une raison architecturale spécifique non liée) avaient des UUID stockés dans un champ de texte et indexés. J'ai remarqué que la performance de la requête était plus lente que ce à quoi je m'attendais. J'ai créé une nouvelle colonne UUID, copiée dans le texte clé primaire uuid et comparée ci-dessous. 2,652 ms contre 0,029 ms. Toute une différence !

 -- 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