sql >> Base de Datos >  >> RDS >> PostgreSQL

Rendimiento del tipo de UUID de PostgreSQL

Teníamos una tabla con alrededor de 30 000 filas que (por un motivo arquitectónico específico no relacionado) tenían UUID almacenados en un campo de texto e indexados. Noté que el rendimiento de la consulta era más lento de lo que esperaba. Creé una nueva columna de UUID, la copié en el texto de la clave principal de uuid y la comparé a continuación. 2,652 ms frente a 0,029 ms. ¡Menuda diferencia!

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