6.5Gのオーバーヘッドを持つMySQLMyISAMテーブルがあります。テーブルを最適化する必要があるのか、それとも単に新しいテーブルを作成し、古いテーブルからデータを入力して名前を変更するのか、疑問です。
これは実稼働環境であるため、ダウンタイムは可能な限り少なくする必要があります。これを行うための最良の方法は何ですか?
6.5Gのオーバーヘッドを持つMySQLMyISAMテーブルがあります。テーブルを最適化する必要があるのか、それとも単に新しいテーブルを作成し、古いテーブルからデータを入力して名前を変更するのか、疑問です。
これは実稼働環境であるため、ダウンタイムは可能な限り少なくする必要があります。これを行うための最良の方法は何ですか?
新しいテーブルを作成してデータを転置すると、元のテーブルは引き続き読み取り可能になりますが、書き込みを許可している場合は、コピーの完了後にそれらの書き込みを転置する必要があります。最適化手順は、操作が完了するまで書き込みを許可しないため、より信頼性が高くなりますが、ご存知のとおり、これにはある程度のダウンタイムが伴います。
このテーブルに問題を引き起こすのに十分な書き込みアクティビティがあるかどうかは、実際には異なります。
おそらく、テストマシンのバックアップからこのデータベースを復元し、実稼働システムのデータベースにコミットする前に、この操作を実行するためのいくつかの異なる方法を試す必要があります。