PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Desempenho do tipo UUID do PostgreSQL


Tínhamos uma tabela com cerca de 30 mil linhas que (por um motivo específico de arquitetura não relacionado) tinha UUIDs armazenados em um campo de texto e indexados. Percebi que o desempenho da consulta foi mais lento do que eu esperava. Criei uma nova coluna UUID, copiei no texto a chave primária uuid e comparei abaixo. 2,652ms contra 0,029ms. Bastante diferença!
 -- 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