MySQLのテーブル設計では、int(11)やvarchar(255)という設定がよく出てきます。
このint(11)およびvarchar(255)の11や255が何を指しているのか疑問に思い、今更ながら調べてみました。
結論
int(11)の11は、カラムの表示幅であり、データベースの運用上はあまり意味がない。intのバイト数は、11を10や8に変更しても4バイトであり、結局、2147483647まで格納が可能。
varchar(255)の255は文字数であり(バイト数でない)、UTF-8(3バイト文字)でも、255文字の格納が可能。
結論としては、デフォルトで、int(11)、varchar(255)にして運用すれば特に問題ないらしい。(n)の数字を減らしてもあまり意味が無いみたいです。
参考