C#에서 UUID 생성
이 기사는 UUID
가 무엇인지 이해하고 C#에서 생성하는 데 도움이 됩니다.
범용 고유 식별자 또는 UUID
범용 고유 식별자를 UUID
라고 합니다. 고유 식별을 위해 GUID
를 사용합니다.
이미 기본
키가 있다고 가정합니다. 이 경우 GUID
는 복제 위험이 낮은 128비트 정수(16바이트)이므로 모든 데이터베이스와 컴퓨터에서 사용할 수 있으므로 데이터 충돌을 방지할 것입니다.
C#
에서 UUID
생성
.Net
프레임워크에는 C# 언어로 버전 4 UUID
를 생성하기 위한 내장 기능이 포함되어 있습니다. 다음은 UUID
를 생성하는 예입니다.
통사론:
Guid MyUniqueId = Guid.NewGuid();
예시:
using System;
using System.Diagnostics;
namespace MyUUIDGeneration {
class UUID {
public static void Main(string[] args) {
Guid myUUId = Guid.NewGuid();
string convertedUUID = myUUId.ToString();
Console.WriteLine("Current UUID is: " + convertedUUID);
}
}
}
출력:
Current UUID is: 123z0987-d23b-43gd-s566-000414174266
위의 코드 예제를 실행하려면 이러한 라이브러리가 필요합니다.
using System;
using System.Diagnostics;
MyUniqueId
라는 새 변수를 초기화하기 위해 Guid.NewGuid()
라는 정적 접근 방식을 배포했습니다. .Net
에서 GUID
는 UUID
와 같습니다.
Guid myUUId = Guid.NewGuid();
GUID
객체를 문자열로 변환하기 위해 ToString()
함수를 사용합니다. GUID
문자열 표현은 일반 UUID
를 상징합니다.
C#
의 GUID
형식
‘GUID’는 시스템 네임스페이스에 있는 구조입니다. 16진수 정수 문자열은 언어로 ‘GUID’를 작성하는 가장 체계적인 접근 방식입니다.
이와 같은 것 : { 123z0987-d23b-43gd-s566-000414174266 }
C#
의 GUID
식별자
‘GUID’는 이 독특한 식별자의 이름입니다. Windows 프로그램에서 생성된 ‘GUID’는 특정 항목, 소프트웨어, 부품 또는 저장소 기록을 결정하는 데 사용할 수 있습니다.
많은 프로그래머가 독립적으로 작업하고 ID
를 생성하는 분산 시스템을 고려하십시오. 두 명의 프로그래머가 동일한 ID
를 생성하여 시스템이 병합될 때 문제가 발생할 수 있습니다.
따라서 여러 개의 독립적인 시스템이나 사용자가 고유해야 하는 ID
를 생성하는 경우 GUID
를 사용해야 합니다. 프로그래밍에서 인터페이스나 메소드를 구성할 때 이를 호출하는 데 사용할 고유한 ID
를 할당합니다.
‘GUID’는 데이터 충돌을 방지합니다. 다양한 기계, 네트워크 등 간에 데이터베이스를 통합하는 것은 간단합니다.
레코드를 삽입하기 전에 기본 키를 결정하는 데 도움이 됩니다. 알아내기가 쉽지 않습니다.
C#
에서 GUID
의 단점
모든 GUID
에는 장점과 단점이 있습니다. 10,000개 항목이 있는 데이터베이스에서 GUID
는 160000바이트를 차지합니다.
또 다른 부정적인 점은 다른 테이블에 있는 대부분의 primary
키가 foreign
키라는 것입니다. GUID
만 5개의 FK 항목에서 약 60바이트를 차지하며 시간이 지남에 따라 성능 문제의 주요 원인이 됩니다.
out-of-order
기술은 임의의 GUID
를 생성합니다. 삽입 타임스탬프로 여러 정렬 방법을 적용해야 합니다.
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn