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は動的ポップアップウィンドウコンポーネントを実装します
画像の周囲にテキストを折り返すとは何ですか?これは次の図の効果です。 エフェクトのCSSコードはここ...
1. MySQL に接続してログインしたら、まず MySQL でイベント機能が有効になっているかどう...
JavaScriptコントロールを使用したくない場合は、次の方法を試してください。 Safariブラ...
この記事では、全選択または選択を反転する機能を実現するためのJavaScriptの具体的なコードを参...
中国の習慣では、旧暦の1月15日より前に新年を祝います。ここで、庭にいる友人たちに新年の幸せを祈りた...
まずは例を見てみましょうコードをコピーコードは次のとおりです。 <!DOCTYPE html ...
MySQL マスター スレーブ レプリケーションを使用する利点は次のとおりです。 1. 安定性を向上...
1. COUNT(*) と COUNT(COL) COUNT(*)は通常、主キーに対してインデックス...
1. 基本ライン 2. 特殊効果(効果は独立しておらず、互いに組み合わせることができます) 1. 両...
Docker コンテナはサービスを提供し、ポート 8888 をリッスンします。外部からアクセスできる...
DNMP の紹介DNMP (Docker + Nginx + MySQL + PHP7/5 + Re...
(P4) Web 標準は一連の標準で構成されています。中心となる概念は、Web ページの構造、スタイ...
最近、モバイルページを制作する際には、レイアウトにインラインブロック要素がよく使われますが、インライ...
はじめに:今日は、サーバー上のMySQLにリモート接続したいと思います。使用するソフトウェアはNav...
プロセスは CPU とメモリ内で実行されるプログラム コードであり、各プロセスは 1 つ以上のプロセ...