데이터베이스-문자열을 기본 키로 사용합니까?

norbertVC

나는 Laravel 5로 애플리케이션을 개발하고 개발 중에 sqlite를 사용합니다. 나중에 더 빠르게 전환하고 싶습니다. 사용자 테이블에 대한 고유 식별자로 문자열을 갖고 싶습니다. 이것은 어떤 식 으로든 문제입니까? 예를 들어 외래 키로? 아니면 자동 증가 정수에 차이가 없습니까?

패트릭

짧은 대답 : 문자열을 기본 키로 사용하는 것은 완벽합니다.

긴 대답 : 우리는 문자열을 기본 키로 선택하는 것이 끔찍합니다.

좋은 기본 키 후보는 무엇입니까?

  1. 고유해야합니다.
  2. 거의 변경되지 않아야합니다.

자, 당신은 아마 당신의 문자열이 결코 변하지 않을 것이라고 생각할 것입니다. 그리고 그것은 매우 독특합니다.

또 다른 (사소한) 관심사는 성능입니다. 검색, 결합 등은 문자열보다 정수에서 약간 더 빠릅니다. 대부분 길이 (숫자는 문자열보다 일반적으로 짧으므로 비교가 더 쉽습니다) 때문입니다.

기본 키에 어떤 문자열을 사용할지 길고 열심히 생각할 것입니다. 대부분의 경우 그것은 나쁜 생각입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Solr을 읽기 전용 데이터베이스로 사용해야합니까?

분류에서Dev

Cassandra 데이터베이스를 쿼리하려면 기본 키로 정의 된 모든 열을 사용해야합니까?

분류에서Dev

데이터베이스-이미 문자열이 기본 키로있는 후 관계 인덱스를 생성합니다.

분류에서Dev

두 개의 기본 키로 데이터베이스에서 두 가지 선택을 할 수 있습니까?

분류에서Dev

주어진 접두사로 기본 키를 설정하고 데이터베이스에 자동 증분

분류에서Dev

전화 번호 또는 국가 ID와 같은 데이터베이스의 기본 키로 다른 고유 제약 조건을 사용할 수 있습니까?

분류에서Dev

전체 데이터베이스에서 기본 키를 사용하여 특정 열을 가져 오는 방법

분류에서Dev

중복 기본 키 및 외래 키로 데이터베이스 병합

분류에서Dev

자동 증가 열을 기본 키로 사용하여 데이터 삽입

분류에서Dev

데이터베이스의 튜플을 기본 키로 식별 할 수있는 경우 후보 키의 용도는 무엇입니까?

분류에서Dev

마이크로 서비스에서 엔터티를 식별하는 데 데이터베이스 기본 키를 사용해야합니까?

분류에서Dev

기본 키 문제가있는 동일한 구조의 데이터베이스 복사본

분류에서Dev

RDBMS에서 데이터베이스의 색인을 작성하는 데 사용되는 키가 항상 기본 키입니까?

분류에서Dev

MySQL의 스키마 기본값과 다른 열 문자 집합을 사용하는 데 단점이 있습니까?

분류에서Dev

기본 양식을 데이터베이스로 보내기

분류에서Dev

기존 Rails 데이터베이스에 외래 키를 어떻게 자동으로 추가합니까?

분류에서Dev

데이터베이스의 기본 문자 집합을 변경하는 방법

분류에서Dev

데이터베이스 생성 테이블 기본 키를 찾을 수 없습니다.

분류에서Dev

데이터베이스에 "기본"SQL 연결을 사용한다는 것은 무엇을 의미합니까?

분류에서Dev

를 기반으로 런타임시 변경 데이터베이스 스키마는 로그인 한 사용자

분류에서Dev

Rails 조명기에서 데이터베이스 열을 빈 문자열로 설정하려면 어떻게해야합니까?

분류에서Dev

사용자 지정 기본 어댑터로 Listview를 새로 고치는 방법은 sqlite 데이터베이스와 연결됩니까?

분류에서Dev

Heroku의 기본 MongoDB 데이터베이스에 액세스하는 방법. 몽고 문자열없이 Heroku에 업로드했습니다.

분류에서Dev

동일한 기본 키를 사용하여 로컬 데이터베이스 테이블로 원격 테이블을 업데이트하는 방법은 무엇입니까?

분류에서Dev

SQL Server 로그인을위한 기본 데이터베이스

분류에서Dev

연결 문자열을 모르고 데이터베이스 프로젝트를 사용하여 데이터베이스를 관리 할 수 있습니까?

분류에서Dev

Firebird 데이터베이스에서 기본 키인 모든 열 이름 찾기

분류에서Dev

MVC 5가 사용자의 기본 키로 int 대신 문자열을 사용하는 이유는 무엇입니까?

분류에서Dev

MVC 5가 사용자의 기본 키로 int 대신 문자열을 사용하는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    Solr을 읽기 전용 데이터베이스로 사용해야합니까?

  2. 2

    Cassandra 데이터베이스를 쿼리하려면 기본 키로 정의 된 모든 열을 사용해야합니까?

  3. 3

    데이터베이스-이미 문자열이 기본 키로있는 후 관계 인덱스를 생성합니다.

  4. 4

    두 개의 기본 키로 데이터베이스에서 두 가지 선택을 할 수 있습니까?

  5. 5

    주어진 접두사로 기본 키를 설정하고 데이터베이스에 자동 증분

  6. 6

    전화 번호 또는 국가 ID와 같은 데이터베이스의 기본 키로 다른 고유 제약 조건을 사용할 수 있습니까?

  7. 7

    전체 데이터베이스에서 기본 키를 사용하여 특정 열을 가져 오는 방법

  8. 8

    중복 기본 키 및 외래 키로 데이터베이스 병합

  9. 9

    자동 증가 열을 기본 키로 사용하여 데이터 삽입

  10. 10

    데이터베이스의 튜플을 기본 키로 식별 할 수있는 경우 후보 키의 용도는 무엇입니까?

  11. 11

    마이크로 서비스에서 엔터티를 식별하는 데 데이터베이스 기본 키를 사용해야합니까?

  12. 12

    기본 키 문제가있는 동일한 구조의 데이터베이스 복사본

  13. 13

    RDBMS에서 데이터베이스의 색인을 작성하는 데 사용되는 키가 항상 기본 키입니까?

  14. 14

    MySQL의 스키마 기본값과 다른 열 문자 집합을 사용하는 데 단점이 있습니까?

  15. 15

    기본 양식을 데이터베이스로 보내기

  16. 16

    기존 Rails 데이터베이스에 외래 키를 어떻게 자동으로 추가합니까?

  17. 17

    데이터베이스의 기본 문자 집합을 변경하는 방법

  18. 18

    데이터베이스 생성 테이블 기본 키를 찾을 수 없습니다.

  19. 19

    데이터베이스에 "기본"SQL 연결을 사용한다는 것은 무엇을 의미합니까?

  20. 20

    를 기반으로 런타임시 변경 데이터베이스 스키마는 로그인 한 사용자

  21. 21

    Rails 조명기에서 데이터베이스 열을 빈 문자열로 설정하려면 어떻게해야합니까?

  22. 22

    사용자 지정 기본 어댑터로 Listview를 새로 고치는 방법은 sqlite 데이터베이스와 연결됩니까?

  23. 23

    Heroku의 기본 MongoDB 데이터베이스에 액세스하는 방법. 몽고 문자열없이 Heroku에 업로드했습니다.

  24. 24

    동일한 기본 키를 사용하여 로컬 데이터베이스 테이블로 원격 테이블을 업데이트하는 방법은 무엇입니까?

  25. 25

    SQL Server 로그인을위한 기본 데이터베이스

  26. 26

    연결 문자열을 모르고 데이터베이스 프로젝트를 사용하여 데이터베이스를 관리 할 수 있습니까?

  27. 27

    Firebird 데이터베이스에서 기본 키인 모든 열 이름 찾기

  28. 28

    MVC 5가 사용자의 기본 키로 int 대신 문자열을 사용하는 이유는 무엇입니까?

  29. 29

    MVC 5가 사용자의 기본 키로 int 대신 문자열을 사용하는 이유는 무엇입니까?

뜨겁다태그

보관