by kkong [SQL Query] postgresql uuid auto increment [2024.05.09 16:05:20]
안녕하세요
PostgreSQL 에서 100만개 row 반복하여 Bulk insert 시
1. Auto Increament로 pk 값을 할당
2. Springboot(application 서버)에서 UUID를 생성하여 pk를 넣어주는 방식
3. Springboot(application 서버)에서 ULID(정렬된 UUID 방식)를 생성하여 pk를 넣어주는 방식
이렇게 3가지로 로컬에서 postgreSQL를 docker로 띄우고 테스트를 해보았는데요.
시간이
1. 2500ms
2. 6000ms
3. 4000ms
이렇게 소요되고 2번은 반복할 수록 점점 시간이 더 걸립니다.
100만개 반복 insert 시 시간이 점점 늘어나는 2번의 이유는 b-tree 의 크기가 커져서 재정렬의 시간이 더 걸리는걸로 추측됩니다.
여기서 질문은 3번은 왜 1번에 비해서 많이 느리게 작동이 되는걸까요?
그리고 위에 시간이 점점 늘어나는 원인이 저게 맞을까요?
감사합니다.