ハマログ

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

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   2017年7月18日


関連記事

cronの編集

今更ながら昔習ったcronの編集方法です cronを作成・編集する際は cron…

EC-CUBEのイベント参加と個人的なイベント参加のご報告

koniです。この前までセミの鳴き声で寝られない日が多かったのですが、最近は鈴虫…

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

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


← 前の投稿

次の投稿 →