문제

사용하는 것이 더 효율적입니까? varchar 두 vs. 다른 숫자의 힘으로 필드 크기? SQL Server의 경우 기본값은 50이기 때문에 아니요.

그러나, 나는 2의 전력으로 크기를 크기로 만드는 필드가 바이트와 동일하기 때문에 더 효율적이며, 컴퓨터는 비트 및 바이트로 프로세스하기 때문에 더 효율적이라고 들었습니다.

필드는 다음과 같이 선언합니다 varchar(32) 또는 varchar(64) 실질적인 혜택이 있습니다 varchar(50)?

도움이 되었습니까?

해결책

아니.

다른 용도에서는 두 가지 크기의 전력을 가진 구조를 사용하는 몇 가지 장점이 있습니다. 대부분 다른 두 가지 크기의 구조 내부에서 2 개의 힘을 얻을 수 있기 때문입니다. 그러나 이것은 DB 필드에 적용되지 않습니다.

Varchars와 관련된 두 가지 크기의 유일한 힘은 바르 차르의 정확한 유형 (또는 일부 SQL 방언의 텍스트/블로브)에 관한 것입니다. 256 미만인 경우 단일 바이트를 사용하여 길이를 표시 할 수 있습니다. 65536 (64KB) 미만인 경우 2 바이트가 충분하고 3 개의 바이트는 16777216 (16MB)까지 작동하고 4 바이트는 4294967296 (4GB)로 이동합니다.

또한 주장 될 수 있습니다 VARCHAR(50) 비싸다 VARCHAR(255), 둘 다 N+1 바이트의 스토리지가 필요하기 때문입니다.

물론 유니 코드를 생각하기 전에 ...

다른 팁

나는 항상 사람들이 우리가 괴짜 가기 때문에 Varchar Fields를 위해 두 사람의 힘을 선택한다고 생각했습니다. 그것이 우리가하는 일입니다. 적어도 그것은 내가 항상 한 일입니다.

특정 최대 길이를 사용함으로써 볼 수있는 유일한 유형의 이점은 VARCHAR. 255를 초과하는 최대 길이는 각 행에 값의 길이를 저장하려면 여분의 바이트가 필요합니다 (256^2 이상의 길이에 대해 2 바이트 2 바이트).

일반적으로 SQL? 아니요. 특정 구현의 경우.

더 효율적인 것은 사양에 의해 결정되는 것이 아니라 (SQL은 단지 사양 일뿐 아니라) 특정 DBMS에서 구현되는 방식입니다.

특정 데이터베이스 구현에 따라 다르지만 기대하지는 않습니다. 일반적으로 문자 수에 대한 계산을 수행하지 않으므로 일반적으로 성능에 영향을 미치지 않아야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top