検索

ホームページ  >  に質問  >  本文

mysqlのvarcharストレージの長さ

申し訳ありませんが、英語は私の母国語ではありません...:(

varchar の実際の長さが mysql .ibd ファイルにどのように格納されるかを理解したいと考えています。そこで、次のようなテストを行うことにしました:

リーリー

ultraEdit を使用して ibd ファイルを開くと、16 進数の varchar の長さは次のようになります。

しかし、これらの列の値は短すぎて、カウントするには 1 バイトしか必要としないため、次のような別のテストを実行しました。 リーリー

その ibd ファイルは次のとおりです:

64 81

、10 進数では 25729 です。 356以上。 2 つの 16 進数を追加しようとしましたが、10 進数の 64 81 = E5 は 229 であり、356 と等しくありません。 これは私を混乱させるので、c4 の 16 進数がこのように表示される理由と、

356

を確認する方法を知りたいです。

P粉455093123P粉455093123265日前372

全員に返信(1)返信します

  • P粉744691205

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

    たぶんこれ:

    • x81 は 01、上位ビットがオンになります
    • 上位ビットは「この数値は連続している」ことを意味します
    • 続きはx64
    • これらの部分を組み合わせると、x0164 = 10 進数の 356
    • になります。

    NULL フラグがどこにどのように表示されるかわかりましたか?

    返事
    0
  • キャンセル返事