복붙노트

[SQL] 왜 VARCHAR 필요 길이 사양을합니까?

SQL

왜 VARCHAR 필요 길이 사양을합니까?

왜 우리는 항상 VARCHAR을 VARCHAR (길이)를 지정하는 대신 단지해야합니까? 그것은 동적 어쨌든입니다.

UPD : 나는 그것 (예를 들어, MySQL의에서) 필수라는 사실에 의해 특별히 의아해하고있다.

해결법

  1. ==============================

    1.VARCHAR를의 "길이"는 내용의 길이 아니라, 그 내용의 최대 길이입니다.

    VARCHAR를의 "길이"는 내용의 길이 아니라, 그 내용의 최대 길이입니다.

    VARCHAR의 최대 길이는 동적이지 그것은 고정이므로 지정한다.

    당신은 최대 크기를 정의하지 않으려면 그 다음 VARCHAR (MAX)를 사용합니다.

  2. ==============================

    2.첫째, 모든 데이터베이스에 그것을 필요로하지 않습니다. 옵션이되고있는 SQL 서버, 봐.

    첫째, 모든 데이터베이스에 그것을 필요로하지 않습니다. 옵션이되고있는 SQL 서버, 봐.

    에 관계없이,이 필드의 내용에 대한 최대 크기를 정의합니다. 나쁜 자체 것은, 그것은 (예 - 당신이 분야에서 국제 전화 번호를 원하지 않는 전화 번호) 의미를 전달한다.

  3. ==============================

    3.당신은 당신의 데이터에 대한 제약으로 볼 수 있습니다. 그것은 당신이 당신의 제약 조건을 위반하는 데이터를 저장하지 않도록합니다. 그것은 예를 개념적으로 유사하다 만 양수 값을 확인 정수 열에 점검 제한 조건이 입력됩니다.

    당신은 당신의 데이터에 대한 제약으로 볼 수 있습니다. 그것은 당신이 당신의 제약 조건을 위반하는 데이터를 저장하지 않도록합니다. 그것은 예를 개념적으로 유사하다 만 양수 값을 확인 정수 열에 점검 제한 조건이 입력됩니다.

  4. ==============================

    4.가능한 성능에 미치는 영향이있다 : MySQL의에서, 임시 테이블 및 MEMORY 테이블이 최대 길이에게 패딩, 고정 길이 컬럼으로 VARCHAR 열을 저장합니다.

    가능한 성능에 미치는 영향이있다 : MySQL의에서, 임시 테이블 및 MEMORY 테이블이 최대 길이에게 패딩, 고정 길이 컬럼으로 VARCHAR 열을 저장합니다.

    당신이 필요로하는 가장 큰 크기보다 훨씬 더 큰 VARCHAR 컬럼을 설계하는 경우에하는 것보다, 당신은 더 많은 메모리를 소모합니다. 이 캐시 효율성, 정렬 속도 등에 영향을 미치는

    당신은 당신의 문자열이 올 아래에있는 최대 길이를 줄 그래서. 문자 (10)의하면 최대 길이가 너무 자신의 길이가 100 이상을 제공하지 않는 경우 등이있다.

  5. ==============================

    5.더 많은 데이터베이스가 저장되는 데이터 요청으로 데이터를 업데이트 / 추가 / 검색 할 때 할 수있는 더 최적화에 대해 알고있다.

    더 많은 데이터베이스가 저장되는 데이터 요청으로 데이터를 업데이트 / 추가 / 검색 할 때 할 수있는 더 최적화에 대해 알고있다.

  6. ==============================

    6.대답은 선택, 당신이 할 필요가 없습니다 것입니다.

    대답은 선택, 당신이 할 필요가 없습니다 것입니다.

    당신이 문자열이 특정 길이를 초과하지 않도록하려는 경우가있다.

  7. ==============================

    7.위키 백과 :

    위키 백과 :

  8. from https://stackoverflow.com/questions/3156815/why-does-varchar-need-length-specification by cc-by-sa and MIT license