Jika Anda happend untuk memasukkan colums dengan UUIDs (yang tidak persis kasus Anda) dan untuk menambah @Dennis jawaban (aku tidak bisa komentar belum), menjadi nasihat daripada menggunakan gen_random_uuid () (membutuhkan PG 9.4 dan modul pgcrypto) adalah (a banyak) lebih cepat dari uuid_generate_v4 ()
=# explain analyze select uuid_generate_v4(),* from generate_series(1,10000);
QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------
Function Scan on generate_series (cost=0.00..12.50 rows=1000 width=4) (actual time=11.674..10304.959 rows=10000 loops=1)
Planning time: 0.157 ms
Execution time: 13353.098 ms
(3 filas)
vs.
=# explain analyze select gen_random_uuid(),* from generate_series(1,10000);
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------
Function Scan on generate_series (cost=0.00..12.50 rows=1000 width=4) (actual time=252.274..418.137 rows=10000 loops=1)
Planning time: 0.064 ms
Execution time: 503.818 ms
(3 filas)
Juga, ini adalah cara resmi yang disarankan untuk melakukannya
Catatan
Jika Anda hanya memerlukan UUID yang dibuat secara acak (versi 4), pertimbangkan untuk menggunakan fungsi gen_random_uuid () dari modul pgcrypto.
Ini memasukkan waktu memasukkan dari ~ 2 jam hingga ~ 10 menit untuk 3,7M baris.