MYSQL은 PK를 기준으로 클러스터 되기 때문에 UUID를 PK로 사용한다면 시퀀스한 INSERT에 대해서도
여러 데이터 블럭에 흩어져 저장되는 현상이 발생할거 같습니다. 이로 인해 페이지 분할 문제, 단편화문제 등이 생길거 같네요
착해진웃스음(112.168)2025-04-30 20:09
답글
당연히 범위 검색등에서도 비효율적인 동작을 하게되고요
착해진웃스음(112.168)2025-04-30 20:09
답글
잘아노 - dc App
딘퐁(gunwoo7193)2025-04-30 20:11
답글
uuid문자열에서 발생하는 거고 문제는 uuid길이가 데이터 블럭 범위를 넘어가면 발생하는거고 그 안에서는 괜찮긴 함
백갤러 3(104.28)2025-04-30 22:09
그러고보니 UUID 순차적으로 생성할수있게 하는것도 나왔다던데
익명(218.146)2025-04-30 20:09
답글
그게 UUID v7
착해진웃스음(112.168)2025-04-30 20:09
답글
128비트라 오버헤드가 있음
착해진웃스음(112.168)2025-04-30 20:10
답글
결국 트위터가 만든 스노우플레이크는 8바이트 vs uuid v7은 128비트인데
MYSQL은 pk 크기가 중요해서 스노우플레이크를 쓰지 않을까
착해진웃스음(112.168)2025-04-30 20:12
답글
8바이트 128비트로 하니까 존나 극적여보이네
64비트 128비트
백갤러 3(104.28)2025-04-30 22:11
저장 공간 효율이 좆박을 거 같다고 하면 안대나여?
익명(223.38)2025-04-30 20:10
답글
맞는말이긴한데 밑에 웃음이가 답 다달음 - dc App
딘퐁(gunwoo7193)2025-04-30 20:11
insert가 ㅈㄴ 비효율적이어짐 - dc App
백갤러 1(121.129)2025-04-30 20:11
답글
INSERT만 비효율적인게 아님
착해진웃스음(112.168)2025-04-30 20:13
용량이 크고 의미가 직관적이지 않아용. 의미가 직관적이지 않은 문제는 int pk를 하나 더 두는 방법으로 해결할 수 있고, 용량이 큰 문제는 공부가 더 필요할 것 같습니다 죄송합니당
이라고 답변할듯
익명(118.235)2025-04-30 20:14
crud할때 다 비효율적이라 ㅋㅋㅋ이게 질문이 맞나
백갤러 2(121.55)2025-04-30 20:16
답글
C제외
백갤러 2(121.55)2025-04-30 20:16
답글
나의 핵심 의도는 created_at범위 검색이긴해 - dc App
딘퐁(gunwoo7193)2025-04-30 20:18
Uuid는 랜덤 난수여서 cud 할때 인덱스 페이지 정렬이 자주 일어나서 비효율적임
요새 그래서 스노우플레이크나 uuid v7 나오고는 있는데 효율 좆박았곧
그래서 id는 오토인크리먼트 쓰고 보여지는건 uuid 많이 쓰지
거기에 id는 4바이트 uuid는 36바이트라
같은 저장량이면 인덱스 페이지 디폴트 16kb 1개 만들때 uuid는 9개 만들어짐
익명(121.162)2025-04-30 20:18
답글
딘퐁(gunwoo7193)2025-04-30 20:21
답글
나도 이런 의미에서 댓글 단건데 보여지는건 uuid 많이 쓴다는 게 무슨 말임??
익명(223.38)2025-04-30 20:23
답글
이미지url에 노출같은거 말하지 - dc App
딘퐁(gunwoo7193)2025-04-30 20:25
답글
PK는 보안상 좋진 않으니 - dc App
딘퐁(gunwoo7193)2025-04-30 20:25
답글
유저하테 보여지는 거 게시글번호 1 2 3 이렇게 id값 보여지면 게시글id예상되서 crud 공격 다 받기 쉬우니까
MYSQL은 PK를 기준으로 클러스터 되기 때문에 UUID를 PK로 사용한다면 시퀀스한 INSERT에 대해서도 여러 데이터 블럭에 흩어져 저장되는 현상이 발생할거 같습니다. 이로 인해 페이지 분할 문제, 단편화문제 등이 생길거 같네요
당연히 범위 검색등에서도 비효율적인 동작을 하게되고요
잘아노 - dc App
uuid문자열에서 발생하는 거고 문제는 uuid길이가 데이터 블럭 범위를 넘어가면 발생하는거고 그 안에서는 괜찮긴 함
그러고보니 UUID 순차적으로 생성할수있게 하는것도 나왔다던데
그게 UUID v7
128비트라 오버헤드가 있음
결국 트위터가 만든 스노우플레이크는 8바이트 vs uuid v7은 128비트인데 MYSQL은 pk 크기가 중요해서 스노우플레이크를 쓰지 않을까
8바이트 128비트로 하니까 존나 극적여보이네 64비트 128비트
저장 공간 효율이 좆박을 거 같다고 하면 안대나여?
맞는말이긴한데 밑에 웃음이가 답 다달음 - dc App
insert가 ㅈㄴ 비효율적이어짐 - dc App
INSERT만 비효율적인게 아님
용량이 크고 의미가 직관적이지 않아용. 의미가 직관적이지 않은 문제는 int pk를 하나 더 두는 방법으로 해결할 수 있고, 용량이 큰 문제는 공부가 더 필요할 것 같습니다 죄송합니당 이라고 답변할듯
crud할때 다 비효율적이라 ㅋㅋㅋ이게 질문이 맞나
C제외
나의 핵심 의도는 created_at범위 검색이긴해 - dc App
Uuid는 랜덤 난수여서 cud 할때 인덱스 페이지 정렬이 자주 일어나서 비효율적임 요새 그래서 스노우플레이크나 uuid v7 나오고는 있는데 효율 좆박았곧 그래서 id는 오토인크리먼트 쓰고 보여지는건 uuid 많이 쓰지 거기에 id는 4바이트 uuid는 36바이트라 같은 저장량이면 인덱스 페이지 디폴트 16kb 1개 만들때 uuid는 9개 만들어짐
나도 이런 의미에서 댓글 단건데 보여지는건 uuid 많이 쓴다는 게 무슨 말임??
이미지url에 노출같은거 말하지 - dc App
PK는 보안상 좋진 않으니 - dc App
유저하테 보여지는 거 게시글번호 1 2 3 이렇게 id값 보여지면 게시글id예상되서 crud 공격 다 받기 쉬우니까