2016-01-23 32 views
7

私たちには、すぐにIDが不足しているmysqlテーブルがあります(プライマリIDは32ビット整数で、最大IDはすでに約15億です)。この問題を解決する最善の方法は何ですか? idの型を64ビットに変更することはオプションですが、テーブルには何十億もの行があるため、データベースが長くなりすぎます。IDが不足しているMysqlテーブル

+0

スキーマで使用されているその列の実際のデータ型は何ですか – RiggsFolly

+0

IDを使い果たすために何をしているのか話しましょう。 15億行がありますか?または、ほとんどのIDは削除されていますか?燃えた?それ以外の場合は失われるあなたが逃げないように消費を遅くすることは可能でしょうか? –

答えて

3

すべてのバージョンのMYSQL(32ビットと64ビットの両方)は、BIGINTとして定義された列に8バイトのフィールドを使用します。

ので、フィールドの種類を変更してみてくださいそしてBIGINT

Check the documentation

+0

私の質問に述べたように、そのような大きなテーブルの列の種類を修正するには、dbサーバーの非常に長い停止時間が必要になります。 – Pinch

+0

何もしないという選択肢がないようです。 – RiggsFolly

3

する列を修正。 "BIGINT"のような大きな範囲で試してみてください。

関連する問題