問題の説明MySQL で delete ステートメントを使用してデータを削除した後、監視ビューの使用可能なディスク容量が増加しなかったり、ディスク使用量が減少しなかったりしました。 解決削除してもスペースが解放されない理由は、MySQL 独自のメカニズムによるものです。ディスク スペースを解放するには、テーブルを再構築する必要があります。次の操作を参照してください。
注意すべき問題が 2 つあります。 どちらのコマンドもテーブルを再構築します。ディスク容量が不足しているとき (>90%) は、この操作を実行しないでください。まずディスクを拡張し、操作後にディスクを縮小してください。 問題分析MySQL のメカニズムでは、delete によって削除された行は削除済みとしてマークされるだけです。削除された行が多く、データ ページ全体 (innodb_page) のすべての行が削除される場合、データ ページは削除済みとしてマークされるだけです。物理的に削除されるわけではなく、常に占有され、再利用されるのを待ちます。 例えば: data_length は削除前後で変化しませんが、data_free は大幅に増加していることがわかります。これは、データが削除されたにもかかわらず解放されておらず、まだ test1 テーブルに占有されているが、空き状態として表示されていることを意味します。今後新しいデータが書き込まれるときに、新しいディスク領域を申請することなく、直接再利用できます。 この時点で、 data_length と data_free は両方とも空のテーブルになり、innodb_page は 1 つだけ (デフォルトは 16k) になっていることがわかります。 PS: data_free 自体も、テーブルのスペースの断片化を評価するために使用できます。この数値が非常に高い場合は、同じ方法を使用してテーブルを再構築し、ディスク領域を再利用することを検討できます。 上記は、MySQL Delete がデータを削除した後にディスク領域が解放されない理由の詳細です。MySQL がデータを削除した後にディスク領域が解放されない理由の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
セル - 表の内容 セルの余白 (表の余白) (cellpadding) - セルの外側の距離を表し...
出典: http://www.ruoyi.vip/ 'vue' から Vue をイン...
2005年に業界に入ってから数か月後、労働者の日休みの期間中、1か月以上毎日12時まで残業をしました...
効果は以下のとおりです。 例1 例2:例1[結婚式の計画]を例にとるHTML: <div cl...
目次基本的な概要GTIDをオンラインで有効にする1. GTID検証ENFORCE_GTID_CONS...
目次1. スロットを使用する理由1.1 スロット1.2 コンポーネントのスロット1.3 例2. この...
序文:基本的に、自社で使用する場合でも、顧客向けにサーバーを展開する場合でも、MySQL のバックア...
1. MySQLをダウンロードするURL: https://dev.mysql.com/downlo...
HTML 初心者は、ファイルを正しく参照する方法という問題によく遭遇します。たとえば、HTML ペー...
目次1. シナリオ例1.1. 抽選の賞品名を設定する1.2. 各賞の重みを設定する1.3. ラッキー...
MySQLの起動失敗の解決策MySQLを起動できませんmysqlを停止した後、いくつかの操作(ホスト...
目次チュートリアルシリーズ1. MySQL アーキテクチャクエリキャッシュキャッシュされないクエリ:...
結合の種類1. 内部結合: 結合関係を持つ 2 つのテーブル内のフィールドは、結合関係を満たすレコー...
序文低速システム コールとは、決して戻らない可能性があり、プロセスを永久にブロックするシステム コー...
Alibaba Cloud サーバーを購入した後、新しいインスタンスが正常に動作できるようにするには...