同様の質問が寄せられていますが、過去に使用して問題が発生しました
ALTER TABLE tablename MODIFY columnname SMALLINT
サーバーがクラッシュし、前回これを実行したときにテーブルを回復する必要がありました。テーブルにそれほど多くのデータがある場合、このコマンドを使用しても安全ですか? テーブルで並行して実行されている可能性のある他のクエリがある場合はどうなりますか? テーブルをコピーして、新しいテーブルでクエリを実行する必要がありますか? 列をコピーして、データを新しい列に移動する必要がありますか?
これを行う際のベストプラクティスまたは「最も安全な」プラクティスがあれば教えてください。
また、これは多くの要因に依存することはわかっていますが、550 万行以下の InnoDB テーブルでクエリにかかる時間 (概算) を知っている人はいますか? 問題の列は TINYINT で、データが含まれています。より大きな値を処理するために SMALLINT にアップグレードしたいと考えています。
ありがとう!