UUID로 열을 삽입하고 ( 정확하게 는 아닙니다 ) @Dennis 답변 에 추가하려면 (아직 의견을 말할 수 없습니다) gen_random_uuid () (PG 9.4 및 pgcrypto 모듈 필요)를 사용하는 것보다 )) 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)
또한 제안 된 공식 방법입니다.
노트
임의로 생성 된 (버전 4) UUID 만 필요한 경우 pgcrypto 모듈에서 gen_random_uuid () 함수를 대신 사용하십시오.
이로 인해 삽입 시간이 2 시간에서 10 분으로 줄어 3.7M 줄에 줄었습니다.