私は1,000,000レコードのテーブルを持っており、私は〜700k行を削除しているステートメントを実行しています。オートインクリメントインデックスは、もちろん1,000,001です。その後の最大プライマリキー、たとえば40,000。多くの行を削除した後、テーブルインデックスをリセット/最適化する必要がありますか?
このような行の巨大な削除の後、手動でインデックスを40,001に手動で設定するか、テーブルを最適化する必要がありますか?あるいは、新しい行を挿入し、後で(速度の点で)select文で索引を使用するとき、MySQLはこの大きなギャップを気にしませんか?
ID番号を再使用することは、実際に利用可能なIDが本当に低い場合を除き、決して良い考えではありません。 –
@Matti:それでも、以前の削除されたキーとの衝突を防ぐために、bigint(もちろん署名なし)など、ID列に別のデータ型を使用する方が良いでしょう... – ircmaxell
うーん..あなたが正しいと思います。主キーを再使用するのは一般的には悪い考えです。 – acme