mysqlクエリの遅いログを有効にする方法
1. MySQL スロー クエリ ログとは
MySQL スロー クエリ ログは、MySQL に付属するパフォーマンス分析ツールであり、次のクエリを記録するために使用されます。指定された時間しきい値 クエリリクエスト。低速クエリ ログには、所要時間、実行数、実行計画など、各クエリのさまざまなパフォーマンス指標が記録されます。開発者はこれらのメトリクスを使用して、最適化が必要なクエリを特定して効率を向上させ、適切なアクションを実行できます。
デフォルトでは、MySQL のスロー クエリ ログは通常有効になっていないため、有効にするには手動構成が必要です。スロー ログのクエリは、MySQL 構成ファイル (my.cnf) でパラメータを設定することで有効にできます。以下は、スロー ログをクエリするための設定例です:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
log_queries_not_using_indexes = 1
long_query_time = 2
このうち、slow_query_log パラメータはスロー クエリ ログを有効にするために使用され、slow_query_log_file パラメータはスロー クエリ ログ ファイルの場所を指定し、log_queries_not_using_indexes パラメータは未使用のログを記録するために使用されます。低速クエリ インデックスの情報、および long_query_time パラメータ クエリのタイムアウトを秒単位で指定するために使用されます。
2. MySQL スロー クエリ ログを有効にする方法
MySQL 5.7 以降では、デフォルトでスロー クエリ ログが有効になります。特に MySQL 5.6 や 5.5 などの古いバージョンの MySQL の場合、クエリ低速ログ機能を有効にするには手動構成が必要です。 MySQL クエリのスロー ログを有効にする詳細な手順は次のとおりです。
MySQL 構成ファイルを開く
デフォルトでは、MySQL 構成ファイルは次のとおりです。 Linux システムの場合、パスは /etc/my.cnf です。 Windows システムでは、構成ファイルは通常、C:Program FilesMySQLMySQL Servermy.ini または C:ProgramDataMySQLMySQL Servermy.ini にあります。お気に入りのエディタでファイルを開きます。
- #スロー クエリ ログを有効にする #構成ファイルで次の行を見つけます:
slow_query_log = 0
この行からコメント記号 # を削除し、値を 1 に変更します。
slow_query_log = 1
- スロー ログ ファイルのパスを指定します。
- 次の行を見つけます:
throw_query_log_file = /var/log/mysql/mysql-slow.log
行からコメント記号 # を削除し、ファイル パスを目的のパスに変更します。
slow_query_log_file = /var/log/mysql/mysql-slow.log
- クエリ タイムアウトの設定
- 次を見つけます行:
long_query_time = 10
この行からコメント記号 # を削除し、値を目的のクエリ タイムアウトしきい値 (秒単位) に変更します。
long_query_time = 2
- インデックス未使用情報のスイッチを構成します
- 次の行を見つけます:
- log_queries_not_using_indexes = 0
- この行からコメント記号 # を削除し、値を 1 に変更して、ロギング操作で未使用の低速クエリ インデックスを有効にします。
log_queries_not_using_indexes = 1
- 設定ファイルを保存して閉じます
- 設定ファイルが保存されたかどうかを確認して、ファイル。
- MySQL サービスの再起動
- 次のコマンドを使用して MySQL サービスを再起動します:
sudo systemctl restart mysqld
3. MySQL スロー クエリ ログを表示する方法
MySQL スロー クエリ ログを有効にすると、スロー クエリ ログは自動的にクエリ情報を記録し、指定されたスロークエリログファイル。次のコマンドを使用してスロー クエリ ログを表示できます:
sudo tail -n 100 /var/log/mysql/mysql-slow.log
このコマンドを使用して最新の 100 件を表示しますスロークエリログ記録。表示する行数を好みに応じて変更することもできます。出力には、低速クエリの実行に必要な時間と、クエリに含まれるすべてのデータ テーブルとサブクエリが含まれます。
日付フィルタリングによって遅いログをクエリする必要がある場合は、以下に示すように、grep と awk を使用して Linux 上のログをフィルタリングできます:
grep "21-Jun-2022" /var /log/ mysql/mysql-slow.log | awk '{print substr($2,0,length($2)-1)" "$3$4" "$5}' |less
このコマンドは次のように出力します。 2022 年 6 月 毎月 21 日のスロー クエリ ログを含むすべてのタイムスタンプ。
4. MySQL クエリの遅いログを分析および最適化する方法MySQL クエリの遅いログを十分に収集した後、それらを分析して最適化する必要があるクエリを判断できます。 . .クエリのパフォーマンスを分析および最適化するためのベスト プラクティスをいくつか示します。
- pt-query-digest を使用したクエリの遅いログの解析
- pt -query- Digest は、MySQL クエリの遅いログを分析し、そこで発生する問題を最適化するのに役立つオープン ソース ソフトウェアです。 pt-query-digest をインストールして使用する手順は次のとおりです。
- Percona Toolkit のインストール
- CentOS 7 では、次を使用してインストールできます。次のコマンド。
yum インストール https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install percona-toolkit遅いログの解析とクエリ
次のコマンドを使用すると、pt-query-digest を使用して遅いログを解析し、クエリを実行できます。
pt-query-digest /var/log/mysql/mysql-slow.log > throw-query-analysis.out
分析クエリの遅いログ
pt-query-digest を使用して、スロー クエリ ログの詳細な分析レポートを取得します。最も頻繁に発生し、タイムアウトが最も長いクエリを検索し、最適化が必要なクエリを特定できます。
インデックス フィールドの使用
MySQL クエリのスロー ログには、インデックスを正常に使用できなかったすべてのクエリが記録されます。この情報を使用して判断できます。適切なフィールド インデックスを使用してクエリを高速化します。 MySQL にインデックスを追加すると、クエリのパフォーマンスを大幅に最適化できます。追加するインデックスが多すぎると、クエリ リクエストと更新操作のコストが増加する可能性があるため、クエリのパフォーマンスが低下する可能性があることに注意することが重要です。
クエリ ステートメントの最適化
クエリ スロー ログにより、どのクエリを最適化する必要があるかがわかります。実行時間が設定されたしきい値を超えると、クエリはログ ファイルに記録されます。クエリ ステートメントを確認し、別のクエリ ステートメントを使用して実行速度を最適化することができます。
キャッシュ メカニズムを使用する
キャッシュ メカニズムにより、クエリ速度が大幅に向上します。クエリ結果がすでにキャッシュに保存されている場合は、クエリの実行とリソースのオーバーヘッドを回避し、結果を直接返すことができます。キャッシュ メカニズムは、Redis や Memcached などのキャッシュ プロバイダーを使用して実装できます。
MySQL サーバー パラメーターの調整
MySQL サーバーのパフォーマンスは、さまざまなパラメーターを調整してデータベース全体を最適化することで最適化できます。これらのパラメータには、MySQL キャッシュ サイズ、接続制限、クエリ タイムアウトなどが含まれます。これらのパラメータを調整することで、データベース サービスのパフォーマンスを特定のクエリに対して最適化できます。
以上がmysqlクエリの遅いログを有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

手順に従って、NAVICATで新しいMySQL接続を作成できます。アプリケーションを開き、新しい接続(CTRL N)を選択します。接続タイプとして「mysql」を選択します。ホスト名/IPアドレス、ポート、ユーザー名、およびパスワードを入力します。 (オプション)Advanced Optionsを構成します。接続を保存して、接続名を入力します。

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

データベースから直接削除された行を直接回復することは、バックアップまたはトランザクションロールバックメカニズムがない限り、通常不可能です。キーポイント:トランザクションロールバック:トランザクションがデータの回復にコミットする前にロールバックを実行します。バックアップ:データベースの定期的なバックアップを使用して、データをすばやく復元できます。データベーススナップショット:データベースの読み取り専用コピーを作成し、データが誤って削除された後にデータを復元できます。削除ステートメントを使用して注意してください:誤って削除されないように条件を慎重に確認してください。 WHERE句を使用します:削除するデータを明示的に指定します。テスト環境を使用:削除操作を実行する前にテストします。
