[SQL] 왜 VARCHAR 필요 길이 사양을합니까?
SQL왜 VARCHAR 필요 길이 사양을합니까?
왜 우리는 항상 VARCHAR을 VARCHAR (길이)를 지정하는 대신 단지해야합니까? 그것은 동적 어쨌든입니다.
UPD : 나는 그것 (예를 들어, MySQL의에서) 필수라는 사실에 의해 특별히 의아해하고있다.
해결법
-
==============================
1.VARCHAR를의 "길이"는 내용의 길이 아니라, 그 내용의 최대 길이입니다.
VARCHAR를의 "길이"는 내용의 길이 아니라, 그 내용의 최대 길이입니다.
VARCHAR의 최대 길이는 동적이지 그것은 고정이므로 지정한다.
당신은 최대 크기를 정의하지 않으려면 그 다음 VARCHAR (MAX)를 사용합니다.
-
==============================
2.첫째, 모든 데이터베이스에 그것을 필요로하지 않습니다. 옵션이되고있는 SQL 서버, 봐.
첫째, 모든 데이터베이스에 그것을 필요로하지 않습니다. 옵션이되고있는 SQL 서버, 봐.
에 관계없이,이 필드의 내용에 대한 최대 크기를 정의합니다. 나쁜 자체 것은, 그것은 (예 - 당신이 분야에서 국제 전화 번호를 원하지 않는 전화 번호) 의미를 전달한다.
-
==============================
3.당신은 당신의 데이터에 대한 제약으로 볼 수 있습니다. 그것은 당신이 당신의 제약 조건을 위반하는 데이터를 저장하지 않도록합니다. 그것은 예를 개념적으로 유사하다 만 양수 값을 확인 정수 열에 점검 제한 조건이 입력됩니다.
당신은 당신의 데이터에 대한 제약으로 볼 수 있습니다. 그것은 당신이 당신의 제약 조건을 위반하는 데이터를 저장하지 않도록합니다. 그것은 예를 개념적으로 유사하다 만 양수 값을 확인 정수 열에 점검 제한 조건이 입력됩니다.
-
==============================
4.가능한 성능에 미치는 영향이있다 : MySQL의에서, 임시 테이블 및 MEMORY 테이블이 최대 길이에게 패딩, 고정 길이 컬럼으로 VARCHAR 열을 저장합니다.
가능한 성능에 미치는 영향이있다 : MySQL의에서, 임시 테이블 및 MEMORY 테이블이 최대 길이에게 패딩, 고정 길이 컬럼으로 VARCHAR 열을 저장합니다.
당신이 필요로하는 가장 큰 크기보다 훨씬 더 큰 VARCHAR 컬럼을 설계하는 경우에하는 것보다, 당신은 더 많은 메모리를 소모합니다. 이 캐시 효율성, 정렬 속도 등에 영향을 미치는
당신은 당신의 문자열이 올 아래에있는 최대 길이를 줄 그래서. 문자 (10)의하면 최대 길이가 너무 자신의 길이가 100 이상을 제공하지 않는 경우 등이있다.
-
==============================
5.더 많은 데이터베이스가 저장되는 데이터 요청으로 데이터를 업데이트 / 추가 / 검색 할 때 할 수있는 더 최적화에 대해 알고있다.
더 많은 데이터베이스가 저장되는 데이터 요청으로 데이터를 업데이트 / 추가 / 검색 할 때 할 수있는 더 최적화에 대해 알고있다.
-
==============================
6.대답은 선택, 당신이 할 필요가 없습니다 것입니다.
대답은 선택, 당신이 할 필요가 없습니다 것입니다.
당신이 문자열이 특정 길이를 초과하지 않도록하려는 경우가있다.
-
==============================
7.위키 백과 :
위키 백과 :
from https://stackoverflow.com/questions/3156815/why-does-varchar-need-length-specification by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 오라클 SQL은 어떻게 날짜에서 시간을 제거하는 (0) | 2020.06.07 |
---|---|
[SQL] 어떻게 MySQL의 LIKE 절에서 사용자 변수를 사용하는 방법? (0) | 2020.06.07 |
[SQL] 한계를 사용하여 JPA 2 CriteriaQuery, (0) | 2020.06.07 |
[SQL] Linq에로 변환 SQL은 널 (null)에 가입 왼쪽 (0) | 2020.06.07 |
[SQL] PostgreSQL를위한 시간에 타임 스탬프 차이 (0) | 2020.06.07 |