"이메일 주소"및/또는 "사용자 이름"unique
필드를 포함하는 "사용자"테이블을 만들고 싶습니다. int usigned auto_increment
을 primary key
으로 추가해야합니까?PRIMARY KEY 선택
또 다른 unique
필드가있는 테이블에서 "id"필드를 사용하는 교과서 예제를 보았 기 때문에 묻습니다.
"이메일 주소"및/또는 "사용자 이름"unique
필드를 포함하는 "사용자"테이블을 만들고 싶습니다. int usigned auto_increment
을 primary key
으로 추가해야합니까?PRIMARY KEY 선택
또 다른 unique
필드가있는 테이블에서 "id"필드를 사용하는 교과서 예제를 보았 기 때문에 묻습니다.
당신은 덜 성능이 좋은 것 VARCHAR
열 데이터 유형을 사용하여 테이블을 인덱싱 이후 userId
열을 사용합니다.
성능을 위해서는 INT
을 사용하는 것이 좋습니다. 그들은 더 적은 공간을 차지하며 더 중요한 것은 비교하기가 훨씬 빠릅니다.
INT
비교는 하나의 CPU 명령에서 실행할 수 있습니다. VARCHAR
또는 CHAR
의 경우 각 문자를 차례로 비교해야합니다. 그것은 모든 PK 검색을 더 빠르게 만듭니다. 조인 테이블이 있으면 모든 조인 선택이 PK에 대해 조회됩니다.
당신은 할 필요가 없지만 항상 그렇습니다. – DickieBoy
응용 프로그램에 따라 전자 메일에 고유 한 제약 조건을 적용하지 않을 수도 있습니다. – Kermit