今日、ディスクアラーム例外を受け取りました。50G ディスクが爆発しました。分析と解決のプロセスは次のとおりです。 1. Linuxサーバーに入り、mysqlフォルダ内の各データベースが占有するディスク容量を確認します。 olderdb だけで 25G を占有していることに気付きましたか? 2. SQLyogを使用してMySQLデータベースにログインし、データベース内の各テーブルが占有するスペースを確認します。 SELECT CONCAT(テーブルスキーマ,'.',テーブル名) AS 'aaa', table_rows AS '行数'、 CONCAT(ROUND(データ長/(1024*1024*1024),6),' G') AS 'データサイズ', CONCAT(ROUND(index_length/(1024*1024*1024),6),' G') AS 'インデックスサイズ', CONCAT(ROUND((データ長+インデックス長)/(1024*1024*1024),6),' G') AS'合計' information_schema.TABLES から WHERE table_schema LIKE 'olderdb'; 3. 主キーインデックスをクエリする 軌道からのインデックスを表示 戦略を採用する 前提条件: 現在、データの80%を削除する必要があります ① 削除文 delete ステートメントの削除速度はインデックスの数に比例することがわかっています。このテーブルのインデックスの数はすでに非常に多く、データ量も非常に大きいため、従来の delete ステートメントを使用して削除すると、間違いなく数日かかります。 Delete ステートメントで削除してもディスク領域は解放されず、必ずアラームが表示されるため、この方法はお勧めできません。 ② ドロップテーブル 同じ構造を持つ新しいテーブルを作成し、「cc」という名前を付け、このテーブルに保存するデータを挿入してから、古いテーブルを削除します。 SQL ステートメントは次のとおりです。 古いテーブルに基づいて新しいテーブルを作成する テーブルcc LIKE orbitを作成します。 データを挿入する(数百万のデータをバッチで挿入する必要があります。一度に 300,000 ~ 400,000 が最適で、結局のところ、MySQL のデータ処理能力には限界があります) 日付によるクエリと挿入(毎日約 300,000 のデータ ポイントが生成されるため、日付の挿入が使用されます) cc に INSERT INTO SELECT * FROM orbit WHERE xttime > '2018-04-16 00:00:00' AND xttime<='2018-04-17 00:00:00'; 結果は次のとおりです。 50万件以上のデータを処理するのに5分もかからず、比較的高速であることがわかります。 クリーニング後、データテーブルスペースが解放されます それから古いテーブルを捨てる ドロップテーブル軌道 たった3秒ほどかかりました。 新しいテーブルの名前を「cc」に変更します ALTER TABLE cc を orbit に変更する 要約する 上記は、MySQL データベース内の数十億のデータをすばやくクリーンアップする方法の紹介です。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
>>: Linux で Nginx 1.16.0 をインストールするための詳細なチュートリアル
簡単に言うと、distinct は重複を削除するために使用され、group by は統計を集計するよ...
問題の説明 (以下の説明は Windows 環境に限定されます): D:\develop\ide\m...
目次1. リバースプロキシの準備1. LinuxシステムにTomcatをインストールする2. Tom...
Prometheus (プロメテウスとも呼ばれる) 公式サイト: https://prometheu...
1. パラダイムこのパラダイムの英語名は Normal Form であり、1970 年代にリレーショ...
「人間中心」と「グリーンデザイン」という2つの視点から考える——デザイン業界の同僚とも議論する2つの...
最近、外国人が CSS3 を使用してアコーディオン効果を実現しているビデオを見たので、自分で学習した...
1. 脆弱性の説明マイクロソフトは2019年5月15日、CVE番号CVE-2019-0708のWin...
この記事の例では、計算機機能を実装するためのjsの具体的なコードを参考までに共有しています。具体的な...
この記事では、JavaScriptのランダムロールコールテーブルの具体的なコードを参考までに紹介しま...
c3p0の使用c3p0jarパッケージをインポートする <!-- https://mvnrep...
問題の説明長い間アカウントパスワードを入力して Zabbix にログインしていないため、管理者パスワ...
一般的に ELK スタックとして知られる Elastic スタックは、Elasticsearch、L...
MySQLにデータを保存するとき、乱雑であまり使用されないデータがJSONフィールドに投げ込まれるこ...
また、Dockerを使用してDjangoプロジェクトをデプロイするのも非常に簡単です。とても良いです...