>  기사  >  데이터 베이스  >  mysql의 기본 키는 무엇입니까?

mysql의 기본 키는 무엇입니까?

anonymity
anonymity원래의
2019-05-24 10:28:475999검색

mysql의 기본 키는 다음과 같이 나뉩니다. 1. 자동 증가 시퀀스 2. UUID 함수에 의해 생성된 임의 값 3. 사용자가 등록한 고유 계정 이름 4. 다음을 기반으로 유사한 자동 증가 값 생성 시퀀스 생성 장치와 같은 메커니즘 세트.

mysql의 기본 키는 무엇입니까?

(InnoDB 엔진용) 실제 생산 환경에서는 4가지 유형의 속성을 기본 키로 사용할 수 있습니다:

(1) 자동 증가 시퀀스;

(2). ;

(3) 사용자가 등록한 고유 계정 이름, 문자열 유형, 일반 길이는 40자입니다.

(4).

그런 다음 테이블 기본 키로서 이러한 네 가지 유형의 속성 각각의 장단점을 분석해 보겠습니다.

(1)자동 증가 시퀀스: 작은 것부터 순차적 패턴으로 새 값을 추가합니다. 크거나 큰 것부터 작은 것까지, 데이터 유형도 처리에 도움이 됩니다. 기본 키 값의 비교는 상대적으로 최소화되며 일반적으로 분할하려는 경우 4바이트 INT 유형 또는 8바이트 BIGINT 유형으로 설정됩니다. 데이터를 수평으로 설정할 수도 있습니다. 2개의 mysqld 인스턴스 매개변수: auto_increment_increment 및 auto_increment_offset; 또한 유일한 단점은 자동 증가 시퀀스가 ​​테이블 수준 전역 잠금이라는 점입니다. 5.0 시리즈는 대규모 동시 쓰기를 수행할 때 병목 현상이 발생합니다. 잠금 해제 메커니즘 문제로 인해 발생하기 쉽지만 5.1 시리즈에서는 기본적으로 이 문제가 존재하지 않습니다.

(2)UUID() 함수: 값은 임의성 + 고정 부분, 값 생성입니다. 순서가 없고 동일한 서버에서 생성된 값의 동일한 부분은 77.8%입니다. 생성된 값 문자 수는 36개이며 UTF8 인코딩에 따라 계산되며 데이터 수평 분할 지원을 위해 차지하는 저장 공간은 36바이트입니다. 특별한 설정은 필요하지 않습니다.

(3)사용자가 등록한 계정 이름, 문자열 유형을 사용합니다, 해당 값은 사용자 입력에 따라 생성되므로 기본적으로 데이터는 순서 없이 추가됩니다. 문자열의 길이도 불확실합니다. 최단 및 최대 길이 값의 제한은 이전 기술을 통해서만 제어할 수 있으며 수평 분할을 지원하며 특별한 설정이 필요하지 않습니다. ;

(4) 시퀀스 생성기는 자동 증가 시퀀스와 유사하지만 자동 증가 시퀀스에서 단어 증분 전역 잠금 문제를 방지하고 동시성을 개선하려면 추가 개발 작업과 타사 서비스 제공이 필요합니다.

(5) 듀얼 마스터 복제 아키텍처에서 발생하는 확률적 시나리오: 메인 서버의 데이터가 성공적으로 실행되었지만 온라인 백업 서버에 복사되지 않은 경우 문제가 발생할 확률이 존재합니다. 위의 네 가지 방법은 피할 수 없습니다.

기본 키인 4가지 속성 값의 장단점 분석 및 비교 앞서 설명한 내용 기본 키에 필요한 우수한 품질 수평 분할 문제를 고려하지 않고 설정에 추가적인 문제가 발생하는 경우 사용자가 등록된 시나리오에서 자동 증가 시퀀스가 ​​가장 좋은 기본 키 필드 선택입니다. 계정 자체에는 고유성과 비어 있지 않은 항목이 필요하며 기본 키 필드의 선택으로 사용할 수 있습니다. 수평 분할 문제를 고려하면 매우 쉬운 자동 증분 시퀀스 생성기 아키텍처가 채택됩니다. 사용 및 안정적인 구현 방법, 생성된 값은 최상의 기본 키 필드 선택입니다.

위 내용은 mysql의 기본 키는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.