私は、1日あたり1万から2万行について話すデータで急速に満たされているデータベースを持っています。
自動インクリメントオプション付きのIDの制限は何ですか?IDがINTEGERとして作成されている場合、符号なしの値に対して最大値2,147,483,647を実行できますか?
しかし、自動インクリメントがこれを超えるとどうなりますか?それはすべて崩壊しますか?では、解決策は何でしょうか?
多くの人が大きなデータベースを持っていると思いますので、ぜひ聞いてみたいと思います。
ありがとうございました。
私は、1日あたり1万から2万行について話すデータで急速に満たされているデータベースを持っています。
自動インクリメントオプション付きのIDの制限は何ですか?IDがINTEGERとして作成されている場合、符号なしの値に対して最大値2,147,483,647を実行できますか?
しかし、自動インクリメントがこれを超えるとどうなりますか?それはすべて崩壊しますか?では、解決策は何でしょうか?
多くの人が大きなデータベースを持っていると思いますので、ぜひ聞いてみたいと思います。
ありがとうございました。
それが範囲外に急速に成長することを心配している場合は、PKをUNSIGNEDBIGINTとして設定します。これにより、最大値18446744073709551615が得られます。これで十分です。
| Min. (inclusive) | Max. (inclusive)
-----------------------------------------------------------------------------
INT Signed (+|-) | -2,147,483,648 | 2,147,483,647
-----------------------------------------------------------------------------
INT Unsigned (+) | 0 | 4,294,967,295
-----------------------------------------------------------------------------
BIGINT Signed (+|-) | -9,223,372,036,854,775,807 | 9,223,372,036,854,775,806
-----------------------------------------------------------------------------
BIGINT Unsigned (+) | 0 | 18,446,744,073,709,551,615
auto_incrementを持つ列ID(INT unsigned)のMySQLテーブルがあり、テーブルに4,294,967,295レコードがある場合、さらに1つのレコードを挿入しようとすると、新しいレコードのIDが自動的に変更され、最大値「4,294,967,295」に設定されます。 "、MySQLエラーメッセージが表示Duplicate entry '4294967295' for key 'PRIMARY'されるため、列が主キーとして設定されている場合、IDが重複します。
2つの可能な解決策: