MySQL에서 UUID를 숫자로 저장
"MySQL의 UUID 성능" 스레드에서 사용자가 UUID를 문자열 대신 숫자로 저장하도록 제안했습니다. 성능 향상을 위해. 이 기사에서는 Ruby에서 이를 달성할 수 있는 방법을 살펴보고 이진 표현 사용의 이점에 대해 논의합니다.
대시 제거 및 16진수 문자열로 변환
UUID를 다음으로 변환하려면 숫자 형식의 경우 먼저 대시를 제거하고 단일 16진수 문자열로 표시합니다. 예를 들어 "110E8400-E29B-11D4-A716-446655440000"은 "110E8400E29B11D4A716446655440000"이 됩니다.
MySQL에 바이너리로 저장
MySQL 문자열보다 바이너리 데이터를 더 효율적으로 저장합니다. , UUID 저장에 적합합니다. UUID는 128비트 길이이므로 BINARY(16) 필드에 완벽하게 맞습니다. 다음 SQL 문을 사용하여 UUID를 테이블에 삽입할 수 있습니다.
INSERT INTO Table (FieldBin) VALUES (UNHEX("110E8400E29B11D4A716446655440000"))
UUID 검색 및 다시 변환
UUID를 원래 형식으로 검색하려면 , 다음 SQL 문을 사용할 수 있습니다.
SELECT HEX(FieldBin) AS FieldBin FROM Table
Ruby 코드에서 원래 UUID 형식과 일치하도록 적절한 위치에 대시를 다시 삽입하여 검색된 16진수 문자열을 추가로 처리할 수 있습니다.
바이너리 저장소의 장점
UUID를 바이너리 데이터로 저장하면 문자열에 비해 여러 가지 장점이 있습니다.
이러한 단계를 따르고 바이너리 스토리지를 사용하면 UUID 작업 시 MySQL 데이터베이스의 성능을 효과적으로 최적화할 수 있습니다.
위 내용은 성능 향상을 위해 UUID를 MySQL에 숫자로 어떻게 저장할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!