この記事では、MySQL のスロー クエリ操作について例を挙げて説明します。ご参考までに、詳細は以下の通りです。 一部の MySQL SQL ステートメントは非常に遅く実行される可能性があり、サーバーの負荷が急増する可能性があります。 まず、top コマンドや ps コマンドなどを使用して、負荷に影響を与えているのが MySQL であることを確認します。 次に、MySQL に入り、 show full processlistコマンドを使用して実行中の SQL ステートメントを照会し、問題を確認します。explainコマンドを使用してステータスを表示します。 最後に、削除または最適化するSQL文を見つけます Centos7にmariadbサービスをインストールする yum -y mariadb-server mariadb-devel をインストールします 低速クエリを有効にする /etc/my.cnf.d/server.cnf の詳細 [マリアdb] slow_query_log=オン slow_query_log_file=/usr/local/mysql/data/slow.log 長いクエリ時間=1 mariadbサービスを開始する systemctl で mariadb を起動します。 MySQLのスロークエリが有効になっているかどうか、また上記がスロークエリである期間がどのくらいかを確認します。 MariaDB [(なし)]> '%slow_query%' のような変数を表示します。 +---------------------+--------------------------------+ | 変数名 | 値 | +---------------------+--------------------------------+ | slow_query_log | オン | | slow_query_log_file | /usr/local/mysql/data/slow.log | +---------------------+--------------------------------+ セット内の 2 行 (0.00 秒) MariaDB [(なし)]> 'long_query_time' のような変数を表示します。 +-----------------+----------+ | 変数名 | 値 | +-----------------+----------+ | 長いクエリ時間 | 1.000000 | +-----------------+----------+ セット内の 1 行 (0.00 秒) #スロークエリが有効になっていない場合は、コマンドラインで有効にすることができます。mysql> set global slow_query_log=1; クエリは正常、影響を受けた行は 0 行 (0.00 秒) 遅いクエリをテストし、ログを表示する MariaDB [(なし)]> sleep(2) を選択します。 +----------+ | 睡眠(2) | +----------+ | 0 | +----------+ セット1列(2.00秒) [root@localhost ~]# /usr/local/mysql/data/slow.log の詳細 /usr/libexec/mysqld、バージョン: 5.5.60-MariaDB (MariaDB サーバー)。次で開始: TCP ポート: 0 Unix ソケット: /var/lib/mysql/mysql.sock 時間IDコマンド引数 # 時刻: 180930 23:51:07 # ユーザー@ホスト: root[root] @ localhost [] # Thread_id: 2 スキーマ: QC_hit: いいえ # クエリ時間: 2.001017 ロック時間: 0.000000 送信行数: 1 検査行数: 0 タイムスタンプを1538322667に設定します。 スリープ(2)を選択します。 遅いクエリの確認 MariaDB [(なし)]> show full processlist; #進行中のスロークエリの状態を表示します +----+------+-----------+---------+----------+-----------+-----------+------------------------+----------+ | ID | ユーザー | ホスト | db | コマンド | 時間 | 状態 | 情報 | 進行状況 | +----+------+-----------+---------+----------+-----------+-----------+--------------------------+----------+ | 3 | root | localhost | NULL | クエリ | 9 | ユーザースリープ | select sleep(10) | 0.000 | | 4 | root | localhost | NULL | クエリ | 0 | NULL | 完全なプロセスリストを表示 | 0.000 | +----+------+-----------+---------+----------+-----------+-----------+--------------------------+----------+ セット内の 2 行 (0.00 秒) MariaDB [(なし)]> show full processlist; #状態を確認します スロークエリは終了しましたが、ユーザーはログインしています +----+-------+-----------+---------+--------+-------+-------+------------------------+---------+ | ID | ユーザー | ホスト | db | コマンド | 時間 | 状態 | 情報 | 進行状況 | +----+------+-----------+---------+--------+--------+--------+-------------------------+----------+ | 3 | ルート | ローカルホスト | NULL | スリープ | 1 | | NULL | 0.000 | | 4 | root | localhost | NULL | クエリ | 0 | NULL | 完全なプロセスリストを表示 | 0.000 | +----+------+-----------+---------+--------+--------+--------+-------------------------+----------+ セット内の 2 行 (0.00 秒) MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL 共通関数の概要」、「MySQL ログ操作スキル」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキル」、および「MySQL データベース ロック関連スキルの概要」 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
<<: Win10でIIS10を構成し、ASPプログラムのデバッグをサポートする手順
>>: WeChatアプレットを使用して天井効果を実現する方法の例
Windows 2003+IIS6 の fastcgi 構成ファイル fcgiext.ini を最適...
目次01 背景02 はじめに03 ワークフロー04 いくつかの質問05 ファイルをバックアップする0...
この記事の例では、円形のプログレスバーのドラッグアンドスライドを実現するための具体的なJSコードを紹...
目次1. はじめに2. Windows用Dockerをインストールする1. Windows用Dock...
Docker SwarmについてDocker Swarm は次の 2 つの部分で構成されます。 D...
この記事では、例を使用して、MySQL ストアド プロシージャでのループ ステートメント (WHIL...
MySQL チューニング ツールの詳細な説明と実践的な演習の説明 ツールの紹介の説明 分析例の説明...
また、多くの場合、メンテナンスのために Web サイトを少なくとも数分間オフラインにする必要がありま...
Linux での動的ライブラリ ファイルのファイル名は libxxx.so のようになります。ここで...
問題の説明: docker run -p 19918:19918/tcp -v /etc/local...
1. cuda10.1をダウンロードします。 NVIDIA 公式ウェブサイト リンク: https:...
例を通して、MySQL のデータ テーブル送信のクエリが遅い問題の解決策を共有しました。最近、コード...
目次1. データベース操作2. データ型3. バックアップとリカバリ3. 操作4. 上級5. 知識補...
Docker サービス アプリケーションを再起動するコマンドを見てみましょう。具体的な内容は次のと...
この記事では、MySQL 8.0のダウンロードとインストールについてご紹介します。具体的な内容は以下...