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は動的ポップアップウィンドウコンポーネントを実装します
vue3コンポーネントの通信モードは次のとおりです。小道具$放出$expose / 参照$属性vモデ...
序文Tomcat 内のすべてのリクエストは Servlet によって処理され、静的リソースも例外では...
元の構成: http { ...... limit_conn_zone $binary_remote...
この記事の例では、ページ切り替え効果を実現するためのJSコードの具体的なコードを参考までに共有してい...
0. システム要件CPU I5-10400F以上メモリ 16 GB、32 GBのメモリが最適ハードド...
1. 事件の背景:仕事上、Ubuntu への vscode リモート接続を使用する必要があります。 ...
この記事の例では、カスタムスクロールバーコンポーネントを実装するためのjsの具体的なコードを参考まで...
目次MySQL 結果のソート - 集計関数環境クエリ結果の並べ替えクエリのグループ化と集約生徒の平均...
目次1. 複数の .catch 2. 複数の .catch 3. .then と .catch の連...
フォームを作成するときに、名前、携帯電話番号、出生地などの 2 つのフィールドを揃える状況に遭遇する...
証明書チェーンを生成するスクリプトを使用して、ルート証明書、中間証明書、および 3 つのクライアント...
データベース操作を学び始めたばかりです。今日、データを保存していたところ、エラーが発生していることに...
1. まずファイルを作成します(ファイルを配置するディレクトリにcdします) myTest.py を...
2日前、ダブル11ショッピングフェスティバルを利用して、Alibaba CloudでECS(サーバー...
目次イベントページの読み込みイベント委任イベントの切り替えイベント要約するイベントページの読み込み1...