開発に携わっている友人、特に MySQL に関係のある友人は、非常に遅い MySQL クエリに遭遇することがあります。もちろん、数十のエントリではなく、数百万または数千万の大量のデータを意味します。 クエリが遅い場合の解決策を見てみましょう開発者は、インデックスや制限 n のないステートメントをチェックすることがよくあります。これらのステートメントは、データベースに大きな影響を与える可能性があります。たとえば、数千万件のレコードを含む大きなテーブルを完全にスキャンする必要がある場合や、ファイルソートを継続的に実行する必要がある場合は、データベースとサーバーの IO に影響します。ミラーライブラリの状況は次の通りです。 オンライン データベースに関しては、インデックスのないステートメントや制限のないステートメントに加えて、MySQL 接続が多すぎるという別の問題があります。これについて言えば、これまでの監視の実践を見てみましょう。
以前はこれらの監視は完璧だと思っていましたが、MySQL ノード プロセス監視を導入した後、多くの欠点を発見しました。
では、これらの問題をどのように解決し、調査すればよいのでしょうか?トラブルシューティングとパフォーマンスのボトルネックの発見に関して、最も簡単に見つけて解決できる問題は、遅い MYSQL クエリとインデックスのないクエリです。 方法 1 : 現在、この方法を使用しています。ハハ、この方法の即時性が気に入っています。 Mysql バージョン 5.0 以降では、実行速度が遅い SQL ステートメントの記録をサポートできます。 mysql> show variables like 'long%'; 注: この long_query_time は、クエリが何秒遅い場合に「遅いクエリ」と見なされるかを定義するために使用されます。 +-----------------+-----------+ | 変数名 | 値 | +-----------------+-----------+ | 長いクエリ時間 | 10.000000 | +-----------------+-----------+ セット内の 1 行 (0.00 秒) mysql> set long_query_time=1; 注: これを 1 に設定しました。これは、実行に 1 秒以上かかるクエリは遅いクエリとみなされることを意味します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> 'slow%' のような変数を表示します。 +---------------------+---------------+ | 変数名 | 値 | +---------------------+---------------+ | 遅い起動時間 | 2 | | slow_query_log | ON | 注: ログ記録をオンにするかどうか | slow_query_log_file | /tmp/slow.log | 注: 設定する場所+---------------------+---------------+ セット内の 3 行 (0.00 秒) mysql> set global slow_query_log='ON' 注: ログ記録をオンにします slow_query_log 変数を ON に設定すると、mysql はすぐにログ記録を開始します。 方法 2 : mysqldumpslow コマンド
MySQLの設定ファイルを設定することを提案する人もいます
これで、MySQL クエリの最適化、クエリが遅くなる原因と解決策に関するこの記事は終了です。MySQL クエリの最適化に関する関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Dockerコンテナ間のホスト間通信 - オーバーレイベースの実装方法
場合によっては、SQL ステートメントが通常どおり、非常に速く実行される状況に遭遇することがあります...
MySQL ROLE はどのような問題を解決しますか?プロフェッショナルな資質を持ち、権限管理に細心...
主にインストール後に my.ini ファイルを確認するために、msi 形式でインストールしました。フ...
方法1: SET PASSWORDコマンドを使用する mysql -u ルート mysql> ...
目次それを覆う栗パラメータの受け渡し値渡し共同配送要約する拡張機能 - 遅延評価私は最近、JavaS...
1. 環境VS 2019 16.9.0 プレビュー 1.0 .NET SDK 5.0.100 2. ...
ステップ1: MySQLドライバをダウンロードするcmdは作成されたDjangoプロジェクトディレク...
目次まとめ環境とツールの準備サーバー仮想化のインストール VMware ESXi仮想マシンのオペレー...
1. はじめにEXPLAIN ステートメントは、MySQL がステートメントを実行する方法に関する情...
目次1. Docker Compose とは何ですか? 2. Docker Composeのインスト...
目次1. コンテナサービスの更新とDockerコンサルの検出1. サービス登録と検出とは何ですか? ...
NC のフルネームは Netcat (Network Knife) で、作成者は Hobbit &a...
この記事では、ビュー、トランザクション、インデックス、自己接続、ユーザー管理など、MySQL データ...
ant-design-vue テーブルのスケーラブルな列の問題に対する完璧なソリューション。固定列と...
1. 父から息子へ子コンポーネントにpropsフィールドを定義し、その型は配列です (フィールド値の...