ハマログ

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

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日


関連記事

Macで.DS_Storeファイルを作成しない方法

こんにちは、かねこです。 Mac OSで、Finderでリモートサーバ接続すると…

windows10でvagrant-winnfsdを使ってNFSフォルダ同期

開発環境としてWindows + Vagrant + VirtualBoxで開発…

sessionStorageとは?

気づけば今年ももう6月となり、入社して半年が経ちました。 時の流れは早く、それと…


← 前の投稿

次の投稿 →