高木のブログ

【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


ytkg

Written by ytkg, Twitter, GitHub