>  기사  >  데이터 베이스  >  MySQL은 VARCHAR의 크기를 어떻게 결정합니까?

MySQL은 VARCHAR의 크기를 어떻게 결정합니까?

王林
王林앞으로
2023-05-27 21:20:051206검색

우선 TEXT 유형을 사용하는 것은 권장하지 않습니다. TEXT를 사용하면 효율성에 심각한 영향을 미치기 때문입니다. 가장 좋은 방법은 VARCHAR를 사용하는 것입니다. > 필드 길이의 최대 크기를 결정합니다. TEXT类型的,因为使用TEXT会严重影响效率,最好的方式就是使用VARCHAR并确定字段的最大长度。

我们可以先在表里定义一个字段rule_value,并设置长度为255,然后输入最小的json字符串进去:

MySQL은 VARCHAR의 크기를 어떻게 결정합니까?

使用MySQL的CHAR_LENGTH函数,计算rule_value的大小:

SELECT
   id,rule_type,rule_value,CHAR_LENGTH(rule_value) as rule_value_length,rule_mark	
FROM
	test_table
WHERE
	rule_type = 'RANDOM_STR'

可以看到rule_value的长度为74:

MySQL은 VARCHAR의 크기를 어떻게 결정합니까?

因为rule_value的值是json数组,所以数组里面的值会不定变大,这个时候,就需要我们去问产品确认,里面的数组最大有多少个?

经过询问,数组最大有10个,那么计算rule_value的长度为:

74*10=740

也就是740个字符,我们可以把之前rule_value的长度VARCHAR(255)改为VARCHAR(740)即可。

最后需要补充一点知识:

  • TEXT最多存65535个字符、MEDIUMTEXT最多存放16777215个字符、LONGTEXT最多存放4294967295个字符,不过一般都不建议使用;

  • 查看MySQL版本命令:select version()

  • MySQL版本4之前,按字节来计算,版本4之后按字符来计算;

  • LENGTH()返回以字节为单位的字符串的长度。CHAR_LENGTH()

    먼저 테이블에서 rule_value 필드를 정의하고 길이를 255로 설정한 다음 가장 작은 json 문자열을 입력할 수 있습니다:
MySQL은 VARCHAR의 크기를 어떻게 결정합니까?🎜🎜MySQL의 CHAR_LENGTH 함수를 사용하세요. rule_value의 크기를 계산합니다. 🎜rrreee🎜 rule_value의 길이가 74인 것을 확인할 수 있습니다. 🎜🎜MySQL은 VARCHAR의 크기를 어떻게 결정합니까?🎜🎜rule_value의 값이 json 배열이므로 배열 내부의 값이 더 커질 수 있습니다. 이때, 내부 배열의 최대 개수는 얼마인지 제품에 확인을 요청해야 합니다. 🎜🎜조회 후 최대 배열 수는 10이고, 계산된 <code>rule_value의 길이는 🎜rrreee🎜즉, 이전 rule_value를 <code>VARCHAR(255)로 변경하면 VARCHAR(740)로 변경할 수 있습니다. 🎜🎜마지막으로 몇 가지 지식을 추가해야 합니다. 🎜
  • 🎜TEXT는 최대 까지 저장할 수 있습니다. 65535자, MEDIUMTEXT는 최대 16777215자까지 저장할 수 있고, LONGTEXT는 최대 4294967295까지 저장할 수 있습니다. 문자이지만 일반적으로 사용하지 않는 것이 좋습니다. 🎜🎜
  • 🎜 MySQL 버전 보기 명령: select version(); >MySQL
버전 4, 바이트 단위로 계산, 버전 4 이후의 문자로 계산 🎜🎜
  • 🎜LENGTH() 문자열 길이를 바이트 단위로 반환합니다. CHAR_LENGTH()문자열의 길이를 문자 단위로 반환합니다. 🎜🎜🎜
  • 위 내용은 MySQL은 VARCHAR의 크기를 어떻게 결정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제