【MySQL】INTEGERとBIGINTの最大値
2022/02/17
MySQLに限った話ではないけど
- INTEGER: 2,147,483,647
- BIGINT: 9,223,372,036,854,775,807
MySQL :: MySQL 5.6 リファレンスマニュアル :: 11.2.1 整数型 (真数値) - INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT
調べた経緯
(Railsアプリでバッチを作っていた)
主キーがINTEGER型でオートインクリメントになっているテーブルがあり、そこに毎日720万レコード入るとしたら何日持つかが知りたかった
2147483647 / 7200000 = 298.261617639
1年も持たないからBIGINT型に変えることにした
ちなみにRails 5.1から主キーのデフォルト型はBIGINTになっている
https://github.com/rails/rails/pull/26266