show processlist コマンドは非常に便利です。MySQL の実行が 50% 以上になることがよくありますが、このコマンドを使用して、どの SQL ステートメントがより多くのリソースを占有しているかを確認し、どの Web サイトにプログラム上の問題があるかを知る必要があります。 show processlist コマンドの出力には、実行中のスレッドが表示され、問題のあるクエリを特定するのに役立ちます。SUPER 権限を持っている場合は、すべてのスレッドを表示できます。そうでない場合は、自分が開始したスレッド (現在の MySQL アカウントで実行されているスレッド) のみを表示できます。 まず、各列の意味と目的について簡単に説明します。 最初の列の id はフラグであり、ステートメントを強制終了する場合に非常に便利です。
このコマンドの最も重要な部分は状態列です。MySQL によってリストされる状態は主に次のとおりです。 データ テーブルをチェックしています (これは自動です)。 テーブル内の変更されたデータはディスクにフラッシュされ、使用されていたテーブルは閉じられています。これは非常に迅速な操作ですが、そうでない場合は、ディスクがいっぱいになっていないか、ディスクに大きな負荷がかかっていないかを確認する必要があります。 レプリケーション スレーブ サーバーがマスター サーバーに接続しています。 一時結果セットが tmp_table_size より大きいため、メモリを節約するために一時テーブルがメモリ ストレージからディスク ストレージに変換されています。 部分的なクエリ結果を保持するための一時テーブルを作成します。 サーバーは複数テーブルの削除の最初の部分を実行しており、最初のテーブルを削除しました。 サーバーは複数テーブル削除の 2 番目の部分を実行しており、他のテーブルからレコードを削除しています。 FLUSH TABLES が実行されており、他のスレッドがデータ テーブルを閉じるのを待機しています。 スレッドに kill 要求が送信された場合、スレッドは kill フラグをチェックし、次の kill 要求を破棄します。 MySQL は各メイン ループで kill フラグをチェックしますが、場合によってはスレッドが終了するまでに時間がかかることがあります。スレッドが他のスレッドによってロックされている場合、ロックが解除されると、kill 要求は直ちに有効になります。 別のクエリによってロックされています。 選択クエリのレコードが処理され、結果がクライアントに送信されています。 GROUP BY のソート。 ORDER BY によるソート。 他の要因によって妨害されない限り、このプロセスは迅速に行われるはずです。たとえば、Alter TABLE または LOCK TABLE ステートメントが完了するまで、他のスレッドはデータ テーブルを開くことができません。テーブルを開こうとしています。 Select DISTINCT クエリが実行されていますが、MySQL は前の段階で重複レコードを最適化できませんでした。したがって、MySQL は重複レコードを再度削除し、その結果をクライアントに送信する必要があります。 テーブルのロックは取得されますが、ロックはテーブル構造が変更された後にのみ取得できます。ロックが解除され、テーブルが閉じられ、テーブルを再度開こうとしています。 インデックスを作成するためにソートされる命令を修正しました。 修復命令は、インデックス キャッシュを使用して新しいインデックスを 1 つずつ作成します。ソートによる修復よりも遅くなります。 条件を満たすレコードが更新対象として検索されています。更新が関連レコードを変更する前に、これを完了する必要があります。 新しいクライアントのリクエストを待っています。 外部システム ロックの取得を待機しています。同時に同じテーブルを要求する複数の mysqld サーバーを実行していない場合は、--skip-external-locking パラメータを追加して外部システム ロックを無効にすることができます。 Insert DELAYED は、新しいレコードを挿入するためにテーブル ロックを取得しようとしています。 一致するレコードを検索して変更します。 GET_LOCK() を待機しています。 スレッドには、データ テーブル構造が変更され、新しい構造を取得するために再度開く必要があることが通知されます。その後、データ テーブルを再度開くには、他のすべてのスレッドがテーブルを閉じるまで待つ必要があります。この通知は、FLUSH TABLES tbl_name、ALTER TABLE、RENAME TABLE、REPAIR TABLE、ANALYZE TABLE、または OPTIMIZE TABLE の状況で生成されます。 挿入 DELAYED は保留中の挿入操作をすべて処理し、新しい要求を待機しています。 ほとんどの状態は非常に高速な操作に対応しています。スレッドが数秒間同じ状態のままである場合は、問題が発生している可能性があるため、確認する必要があります。上記に記載されていないステータスもありますが、そのほとんどはサーバーにエラーがあるかどうかを確認する場合にのみ役立ちます。 共通カウンター 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: React Nativeがシミュレータにリンクできない件について
>>: Reactは動的ポップアップウィンドウコンポーネントを実装します
最近MySQLを5.7にアップグレードしましたが、WordPressでデータのインポート時にエラーが...
コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...
Mac 用 MySQL をダウンロード: https://downloads.mysql.com/a...
1 メソッドは、データをサーバーに送信する方法を指定するプロパティです。 2 post と get ...
1 システムのインストール手順OSバージョン:1804イメージのダウンロード: http://cd...
LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | grep ...
MySQL 5.7 には、オンライン DDL、マルチソース レプリケーション、拡張された半同期、テー...
異なるサーブレット パスを構成するときに、次の 2 つのエラーが発生しました。 java.lang....
構造本文、見出し、HTML、タイトル文章abbr、頭字語、アドレス、引用ブロック、br、引用、コード...
時々、選択した内容をグループ化する必要があります。以前はプログラム制御を使用していました。今日、se...
目次1. 関数の定義1.1 JavaScript の関数1.2 TypeScriptの関数2. オプ...
この記事では、例を使用して、MySQL でストアド プロシージャを作成し、ループでレコードを追加する...
目次序文Lua スクリプトnignx.conf の設定Dockerfileの設定序文データベースやそ...
システムをインストールした後、毎回いくつかのソフトウェアを再インストールする必要があります。ソフトウ...
この記事では、参考までに、シンプルな広告ウィンドウを実装するためのjsの具体的なコードを紹介します。...