ハマログ

株式会社イーツー・インフォの社員ブログ

MariaDBのVARCHAR(10)には何文字格納できるでしょうか?

こう聞かれれば「半角10文字、全角5文字」と答える人が多いのではないでしょうか。
おそらくVARCHAR(10)の10は半角文字数と認識されていると思います。

MariaDBのVARCHARについて調べ直してみました。(5.5.52-MariaDB)
MariaDBにはストレージエンジンがいくつかあるので、その辺はちょっとごっちゃになってると思います。InnoDBかMyISAMかで、少し話が違ってくるとは思うけど、そこまでは追えてません。

VARCHAR(n)は文字数

VARCHAR(10)の箇所に全角文字で10文字入ります。
昔はバイト数だったような気もするけど、今は文字数を設定します。
VARCHAR 値は必要な文字数と、長さを記録する為の1バイト(255よりも長いカラムは2バイト)だけを利用して格納できます。

https://mariadb.com/kb/en/mariadb/varchar/

VARCHARは可変長なので、余分に設定してもストレージを無駄に食う事は無いと思います。
ただVARCHAR(256)以上は、長さの記録が1バイト増えるみたいなので、特に理由が無ければVARCHAR(255)に設定しておくのが良いんじゃないかなと思います。

またひとつお勉強になりました。

MariaDBvarchar全角

S.I   S.I   2017年7月18日


関連記事

【新人エンジニア向け】システム開発で覚えておきたい3つの環境について解説!

エンジニアになって4ヶ月が経ちました。 エンジニアになるとよく耳にする言葉が「環…

Homebrewで違うバージョンのMySQLを入れようとしたら若干ハマった

はいどーも! HomebrewでMySQL5.6をインストールしたくて、とりあえ…

AWSのRDSをアップグレードのためテストしてたらストレージ不足

おはようございます。またご無沙汰になってしまいました。ネタを見つけるたびにブログ…


← 前の投稿

次の投稿 →