ハマログ

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

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日


関連記事

Laravel EloquentのソートでNULLを最後に持ってくる(MySQL)

Laravel5系+MySQL5のはなし。 Laravel+Eloquentのプ…

laravel4 PHP5でいきなりででるsyntax error

laravel4のbladeにHTMLに埋め込みした際に「syntax erro…

Google Driveでアンケートフォームを作成するの巻

こんにちは、お酒の飲めないかねこです。 この週末は、数年ぶりに酔いました(しかも…


← 前の投稿

次の投稿 →