Имахме таблица с около 30k реда, които (поради конкретна несвързана архитектурна причина) имаха UUID, съхранени в текстово поле и индексирани. Забелязах, че изпълнението на заявката е по-бавно, отколкото очаквах. Създадох нова UUID колона, копирах в текста uuid първичен ключ и сравних по-долу. 2.652ms срещу 0.029ms. Доста голяма разлика!
-- 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