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は動的ポップアップウィンドウコンポーネントを実装します
リソースを節約するためにWebページの圧縮を設定する1.まず、設定を変更しましょう vim /usr...
前に書いたものは複雑すぎるので、シンプルなコアにしましょう <html> <ヘッド...
この記事では、Docker で新しいイメージを手動で構築する方法を紹介し、皆さんと共有します。詳細は...
in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明コード例: <se...
Docker 学習https://www.cnblogs.com/poloyy/p/15257059...
なぜvimを学ぶのかLinuxには多数の設定ファイルがあるため、Linuxには多くのテキスト処理ツー...
目次1. 需要2. 実装3. 結果1. 需要入力ボックスにデータを入力し、入力結果に基づいてデータベ...
1. Linuxグループの基本紹介Linux では、すべてのユーザーはグループに所属する必要があり、...
一般的な CSS コードでは、UI レイアウトや互換性に関して軽微な問題が発生するだけです。しかし、...
目次1. 算術演算子2. 比較演算子3. 論理演算子4. ビット演算子5. 演算子の優先順位1. 算...
導入Xiao A がコードを書いていたところ、DBA Xiao B が突然、「急いでユーザー固有情報...
<br />通常、HTML では次の方法で DOCTYPE を宣言します。 <!D...
序文ほとんどの方がMySQLとインデックスを使用したことがあると思いますが、適切なインデックスを作成...
mysql テーブル作成 SQL ステートメントMySQL テーブルを作成するための一般的な SQL...
最初のステップは、アイコン作成ソフトウェアを準備することです。まず、いわゆるアイコンは拡張子 .ic...