MySQL에서 테이블을 생성할 때 VARCHAR 유형 컬럼의 길이를 명확하게 설정해야 합니다. 단, TEXT 유형의 경우 길이를 지정할 필요가 없습니다. 그렇다면 VARCHAR과 TEXT의 차이점은 무엇입니까?
TEXT
VARCHAR(M)
[를 지정해야 합니다. &&&]편집:데이터베이스에 저장할 텍스트가 65535자를 초과하는 경우 MEDIUMTEXT 또는 LONGTEXT이지만 주의하세요. 저장되는 최대 문자열 길이는 MEDIUMTEXT의 경우 16MB, LONGTEXT의 경우 4GB입니다. LONGTEXT를 사용하고 PHP를 통해 데이터를 가져오는 경우(적어도 mysqli를 사용하고 store_result 함수를 사용하지 않는 경우) PHP는 전체 문자열이 가능하도록 4GB의 메모리를 할당하려고 시도하므로 메모리 할당 오류가 발생할 수 있습니다. 버퍼링됩니다. 이는 PHP 외에 다른 언어에서도 발생할 수 있습니다.
그러나항상데이터베이스에 데이터를 저장하기 전에 입력을 확인해야 합니다 (너무 길까요? 이상한 코드가 포함되어 있습니까?). 참고: 두 유형 모두 필요한 디스크 공간은 최대 길이가 아닌 저장된 문자열의 길이에 따라서만 달라집니다. 예를 들어, 문자 세트 latin1을 사용하고 "Test" 텍스트를 VARCHAR(30), VARCHAR(100) 및 TINYTEXT에 저장하는 경우 항상 5바이트가 필요합니다(문자열 길이를 저장하는 데 1바이트, 각 문자는 1바이트). . VARCHAR(2000) 또는 TEXT 열에 동일한 텍스트를 저장하는 경우에도 동일한 공간이 필요하지만 이 경우 6바이트(문자열 길이를 저장하는 데 2바이트, 문자당 1워드 Festival)를 차지합니다.
자세한 내용은 설명서를 참조하세요.
마지막으로 TEXT와 VARCHAR은 모두 가변 길이 데이터 유형이므로 데이터를 저장하는 데 필요한 빈 공간의 수를 최소화할 가능성이 높다는 점을 덧붙이고 싶습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3