0
(20GB以上の)非常に大きなテーブルを修復または最適化している間にMariaDBサーバーを再起動するとどうなりますか?おそらく私は他のもののためにテーブルを使用する必要があり、私はちょうど退屈しています。非常に大きなテーブルを修復または最適化している間にMariaDBサーバーを再起動するとどうなりますか?
(20GB以上の)非常に大きなテーブルを修復または最適化している間にMariaDBサーバーを再起動するとどうなりますか?おそらく私は他のもののためにテーブルを使用する必要があり、私はちょうど退屈しています。非常に大きなテーブルを修復または最適化している間にMariaDBサーバーを再起動するとどうなりますか?
REPAIR
およびOPTIMIZE
は、クラッシュセーフであるように設計されています。 (または少なくとも大部分は)
OPTIMIZE
たとえば、テーブルをtmpテーブル名にコピーします。終了すると、内部的には高速でアトミックなRENAME TABLE
が実行されます。
OPTIMIZE
は、ごくまれにしかMyISAMで必要とされません。 InnoDBではそれほど必要とされません。あなたのユースケースは何ですか?私はおそらくそれが「役に立たない」または「努力する価値がない」と反対するだろう。
修理はMyISAMにのみ必要です。私はあなたが古いエンジンを使用していないことを願っています。
詳細
REPAIR
は必要性が低く、自動化されています。ANALYZE TABLE
を使用してください(この場合は、.MYDファイルのレイアウト方法はの場合は問題あり)。
返信ありがとうございました。あなたは最適化について正しいです。私の場合、それはそれほど有用ではありませんが、修復は役に立ちます。私の場合、定期的に修復が必要な非常に大きなMyISAMテーブルがあります。これは時間の経過とともに非常に遅くなり、PHPMyAdminでテーブルの修復を通知するためです。テーブルを修復すると、10GBのテーブルでは約30分かかりますが、修復後にクエリ時間が大幅に減ります。ただし、20GBを超えるテーブルは修復に約2時間かかります。プロセスを中断する必要がある場合もありますが、実際にはこれを実行したことはありません。 – Turab
コメントを追加しました。 –
私は現在、Row-Level-Lockingが大好きであるため、InnoDBを技術的な意思決定に使用していますが、現在の状況では、実際に書き込まれたビジネスロジックが原因で行レベルロックがテーブルデータを破壊します。そして、それは巨大なシステムなので、InnoDBを組み込むロジックの一部を書き直すことはできません。 – Turab