>  Q&A  >  본문

mysql의 varchar 저장 길이

죄송합니다. 영어는 제 모국어가 아닙니다...:(

mysql .ibd 파일에 varchar의 실제 길이가 어떻게 저장되는지 알고 싶습니다. 그래서 저는 다음과 같은 테스트를 하기로 결정했습니다:

으아아아

ultraEdit을 통해 ibd 파일을 열었는데 16진수로 표시한 varchar 길이는 다음과 같습니다.

하지만 이 열의 값은 너무 짧고 계산하는 데 1바이트만 필요하므로 다음과 같이 또 다른 테스트를 수행했습니다.

으아아아

IBD 파일은 다음과 같습니다:

하지만 C4의 16진수 길이는 64 81 ,十进制是 25729 。超过 356。我尝试加上两个十六进制,但是 64 + 81 = E5 十进制是 229,不等于 356입니다.

이게 혼란스러워서 c4의 16진수가 왜 이렇게 나타나는지, 어떻게 알 수 있는지 알고 싶습니다 356

P粉455093123P粉455093123200일 전312

모든 응답(1)나는 대답할 것이다

  • P粉744691205

    P粉7446912052024-04-02 12:47:04

    아마도 다음과 같습니다:

    • x81은 01, 상위 비트가 켜짐
    • 높은 비트는 "이 숫자가 연속됨"을 의미합니다
    • 계속은 x64
    • 부분을 합치면 x0164 = 십진수 356
    • 이 됩니다.

    NULL 플래그가 나타나는 위치/방법을 찾았나요?

    회신하다
    0
  • 취소회신하다