ハマログ

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

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日


関連記事

EC2インスタンスにAWS Systems Manager Session Managerで接続する

AWSのEC2インスタンスに、エンジニアのPCからクライアントソフトで接続してい…

LaravelのFormからPUT / PATCH / DELETEリクエストをおくる

FormからREST APIを呼び出す画面を作成していたのですが、いまのところお…

WordPressプラグインWP to Twitterでツイッター連携

こんにちは。S.Iです。 桜が綺麗に咲いてますね。 今回はWordPress(3…


← 前の投稿

次の投稿 →