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