問題の説明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 の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
目次1. DATETIMEとTIMESTAMPの使用1. 類似点2. 相違点3. 選択2. varc...
MySQL 8.0.20 のインストールおよび設定方法は、参考としてグラフィック チュートリアルにま...
目次序文Zookeeper サービスのオープンを検出情報を入手する接続テスト接続先修理計画参照する序...
問題を見つける最近、プログラムのストレージを Mongodb に移行したところ、Guid 型が書き込...
1. 遭遇した問題分散プロジェクトの展開プロセスでは、サーバーの再起動後にアプリケーション(データベ...
Docker の使用中に、いくつかの問題が発見されました。npm install や bundle ...
1. Linuxサーバーは、/etc/hosts.denyを設定して、相手のIPがSSH経由でサー...
一般的に、データ テーブル内の列を ID 列として設定すると、ID 列の表示値を手動で ID 列に挿...
Windows Server 2008R2を忘れた場合の対処方法サーバーの数が多すぎる、サーバーが多...
カルーセルとは何ですか?カルーセル: モジュールまたはウィンドウで、コンピューターでマウスをクリック...
シナリオ 1: サーバーの制限により、外部に開かれているポートは 1 つだけですが、別の外部ネットワ...
目次1. 通常の機能2. 矢印関数3. データパケットJSON 4. オブジェクト5. 約束6. 非...
HTML のセマンティクスはありふれた問題のようです。Google で検索すると、セマンティクスに関...
フォーラムでは、ネットユーザーから「HTML ファイル内の別の HTML ファイルの内容を読み取るこ...
この記事では、jsネイティブカルーセルプラグインの具体的なコードを参考までに共有します。具体的な内容...