Kami memiliki tabel dengan sekitar 30 ribu baris yang (untuk alasan arsitektur tertentu yang tidak terkait) menyimpan UUID dalam bidang teks dan diindeks. Saya perhatikan bahwa kinerja kueri lebih lambat dari yang saya harapkan. Saya membuat kolom UUID baru, menyalin kunci utama uuid teks dan membandingkannya di bawah ini. 2,652ms vs 0,029ms. Perbedaan yang cukup jauh!
-- 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