«primary-key» 태그된 질문

관계형 데이터베이스 디자인에서 기본 키는 테이블의 각 행을 고유하게 식별 할 수 있습니다. 기본 키는 단일 열 또는 열 집합으로 구성됩니다.

4
기본 키로 MySQL int vs varchar (InnoDB 스토리지 엔진?
웹 응용 프로그램 (프로젝트 관리 시스템)을 구축 중이며 성능과 관련하여 궁금합니다. 내부에 Issues 테이블이 있으며 다양한 다른 테이블에 연결되는 12 개의 외래 키가 있습니다. 그중 8 개는 웹 응용 프로그램에서 레코드가 의미를 갖기 위해 다른 테이블에서 제목 필드를 가져 오기 위해 참여해야하지만 8 개의 조인을 수행하는 것을 의미합니다. 각 조인에 …

2
PostgreSQL에서 기존 인덱스를 기본 키로 승격시키는 방법
테이블 내에서 기본 키를 만드는 방법을 알고 있지만 기존 인덱스를 기본 키로 만들려면 어떻게해야합니까? 한 데이터베이스에서 다른 데이터베이스로 기존 테이블을 복사하려고합니다. 표를 표시하면 맨 아래의 색인은 다음과 같은 형식입니다. "my_index" PRIMARY KEY, btree (column1, column2) 나는 다음을 사용하여 색인을 만들었습니다. CREATE INDEX my_index ON my_table (column1, column2) 그러나 기본 키를 …

2
INSERT에서 자동 증분 키를 처리하는 방법 (SELECT * FROM…)
나는이 table1와 table2MySQL을한다. 둘 다 기본 auto_increment키가 id있습니다. 테이블 스키마가 일치하고에 INSERT INTO table1 (SELECT * FROM table2)삽입 된 새 행과 관련하여 어떤 일이 발생 table1합니까? id행의 값 table1이 같으면 이전 값 을 유지하고 충돌을 생성 id합니까? auto_increment에 의해 새로운 값이 생성됩니까? 스토리지 엔진 또는 잠금에 의존합니까?

1
PostgreSQL의 여러 기본 키
다음 테이블이 있습니다. CREATE TABLE word( word CHARACTER VARYING NOT NULL, id BIGINT NOT NULL, repeat INTEGER NOT NULL ); ALTER TABLE public.word OWNER TO postgres; ALTER TABLE ONLY word ADD CONSTRAINT "ID_PKEY" PRIMARY KEY (word,id); 다음 명령을 사용하여 복원하려고 할 때 : psql -U postgres -h localhost -d word …

4
5+ 열 기본 키가 큰 (1 억 +) 테이블에 적합하지 않습니까?
나는 실제 DB 문제에 대해 읽었고 한 프로젝트에는 1 억 개의 행과 테이블이 기본으로 5 개의 열이 있습니다. 나는 이것이 나쁘다고 생각하지만 아무도 왜 정확한지 말해 줄 수 있습니까? 이 테이블은 일종의 마이크로 롤업 / 집계 테이블이므로 5 개의 열은 (day, market_id, product_id ...)와 같습니다. 처음에는 5 열 기본 키가 …

2
외래 키로서 복합 기본 키 효율성
테이블에 중복이 입력되지 않도록하는 복합 기본 키 (4 열로 구성)가있는 테이블이 있습니다. 이제이 테이블의 키를 외래 키로 참조 해야하는 새 테이블이 필요합니다. 내 질문은 조회 속도에 어떤 접근 방식이 더 효율적인지입니다. 1) 4 개의 열을 모두 포함하여 새 테이블을 만들고 외래 키로 모두 참조하십시오. 또는 2) 기본 키 테이블에서 새 …

1
CREATE TABLE… AS SELECT의 기본 키 자동 증가
를 통해 복잡한 선택 쿼리를 사용하여 테이블을 만들었습니다 CREATE TABLE ... AS SELECT.... 이 쿼리에 자동 증분 기본 키를 추가하려면 어떻게해야합니까? 예를 들면 다음과 같습니다. create table `user_mv` select `user`.`firstname` as `firstname`, `user`.`lastname` as `lastname`, `user`.`lang` as `lang`, `user`.`name` as `user_name`, `group`.`name` as `group_name` from `user` inner join `user_groups` on …


3
로그 테이블에 id 필드 또는 기본 키가 있어야합니까?
특정 파일을 다른 시스템으로 내보낼 때의 날짜 시간 스탬프를 캡처하는 로그 테이블이 있습니다. 내 보낸 로그 테이블에는 현재 세 개의 필드가 있습니다. id (primary key) messageId (int) exportedDateTime (datetime) 이것을 검토 한 결과이 id테이블에 조인이 없기 때문에 해당 필드가 아무 목적이없는 것으로 나타났습니다 . 이 테이블에서 작업하는 유일한 것은 메시지를 …

1
mysql에서 복합 기본 키의 INDEX는 어떻습니까?
둘 이상의 열에 대해 복합 기본 키를 만드는 경우, 예를 들어 PRIMARY KEY(col1, col2, col3); 시스템은 INDEX각 열을 개별적으로 수행합니까? 이 질문을하는 이유는 우리가 사용할 때 첫 번째 열에서만 UNIQUE INDEX (col1, col2, col3)작동하고 다른 열에 대해 INDEX추가를 생성해야하기 때문 INDEX입니다. 복합 기본 키의 경우인지 알고 싶습니다.

3
이메일 주소 고유 또는 기본 키?
나는 데이터베이스의 초보자입니다. 문자열을 비교하면 속도가 느려 복잡한 조인의 성능에 영향을 미치며 전자 메일이 변경되면 많은 외래 키를 변경해야하기 때문에 전자 메일 주소를 기본 키로 사용하는 것이 좋지 않다는 것을 알았습니다. 노력의. 그러나 내 users 테이블에 모든 사용자에게 전자 메일 주소가 있어야하고 각 전자 메일 주소가 고유해야하는 경우 전자 메일 …

4
NVARCHAR 열을 PRIMARY KEY 또는 UNIQUE 열로
SQL Server 2012 데이터베이스를 개발 중이며 기본 키로 nvarchar 열에 대한 의문이 있습니다. 나는이 테이블을 가지고있다 : CREATE TABLE [dbo].[CODES] ( [ID_CODE] [bigint] IDENTITY(1,1) NOT NULL, [CODE_LEVEL] [tinyint] NOT NULL, [CODE] [nvarchar](20) NOT NULL, [FLAG] [tinyint] NOT NULL, [IS_TRANSMITTED] [bit] NOT NULL DEFAULT 0, CONSTRAINT [PK_CODES] PRIMARY KEY CLUSTERED ( …


3
명시 적 기본 키가없는 DB에서 모든 테이블을 찾으려면 어떻게합니까?
Google 검색에서 클러스터 된 인덱스가없는 테이블을 찾는 방법에 대한 수백만 건의 조회수가 발생했으며 PK는 일반적으로 테이블의 클러스터 된 인덱스입니다. 그러나 테이블에는 클러스터 된 인덱스로서의 자연 키와 ID 열과 같은 비 클러스터형 대리 인덱스를 쉽게 가질 수 있습니다. 기본 키가 정의되지 않은 DB에서 모든 테이블을 찾으려면 어떻게합니까? 이 DB에는 245 개의 …

4
광범위한 PK와 별도의 합성 키 및 UQ 사용 간의 성능 고려 사항은 무엇입니까?
여러 비즈니스 분야에서 레코드를 고유하게 식별 할 수있는 여러 테이블이 있습니다. 과거에는 다음과 같은 이점을 염두에두고이 필드를 PK로 사용했습니다. 간단; 외부 필드가없고 하나의 인덱스 만 있습니다 클러스터링은 빠른 병합 조인 및 범위 기반 필터를 허용합니다 그러나 합성 IDENTITY INTPK 를 만들고 별도의 UNIQUE제약 조건으로 비즈니스 키를 시행 하는 사례를 들었습니다 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.