パフォーマンスの問題のあるSQL文を取得する方法 1. ユーザーからのフィードバックを通じてパフォーマンスに問題があるSQL文を取得する スロークエリログを使用してパフォーマンスの問題のあるSQLステートメントを取得する まず、遅いクエリに関連するパラメータを紹介しましょう。 1. slow_query_log はカスタムスロークエリログ設定を開始します。これは、MySQL コマンドラインから設定できます: set global slow_query_log=on 2. slow_query_log_file は、スロークエリログの保存パスとファイルを指定します。ログストレージとデータストレージは別々に保存することをお勧めします。 3. long_query_timeはスロークエリログのSQL実行時間を記録する閾値を指定する。①条件に合うSQLを全て記録する 4. log_queries_not_using_indexes インデックスを使用しないSQLをログに記録するかどうか 5. log_output はスローログクエリの保存形式を設定します(ファイルとして保存する必要がある場合は、FILE に変更してください) 低速クエリ使用ログに記録される情報
パフォーマンスの問題のあるSQLを取得するために低速クエリを使用する よく使われるスロークエリログ分析ツール (mysqldumpslow) 遅いクエリログの例 低速クエリ関連の構成設定 分析結果を表示するためのコマンドライン実行パラメータ
よく使われるスロークエリログ分析ツール (pt-query-digest) ツールを使用する前に、まずツールをインストールする必要があります。すでにツールをお持ちの場合は、次のインストール手順をスキップできます。 3. ツールキットをインストールする スロークエリログを分析するためのコマンドを実行する ]# pt-query-digest --user=root --password=redhat --host=127.0.0.1 slow-mysql > slow.rep MySQLサーバがクエリ要求を処理するプロセス全体
クエリキャッシュがSQLパフォーマンスに与える影響
クエリキャッシュのパラメータの最適化 query_cache_typeはクエリキャッシュが使用可能かどうかを設定します 注: DEMAND は、クエリ ステートメントで SQL-CACHE と SQL_NO_CACHE のみが使用され、キャッシュが必要かどうかが制御されることを意味します。 query_cache_sizeはクエリキャッシュのメモリサイズを設定します query_cache_limitはクエリキャッシュの利用可能なストレージの最大値を設定します。 query_cache_wlock_invalidate は、テーブルがロックされた後にキャッシュされたデータを返すかどうかを設定します (このオプションはデフォルトでは無効になっており、推奨されています) query_cache_min_res_unitはクエリキャッシュによって割り当てられるメモリブロックの最小値を設定します。 MySQLが誤った実行計画を生成する原因
MySQLオプティマイザが最適化できるSQLタイプ 1. テーブルの関連付け順序を再定義します。オプティマイザは、統計情報に基づいてテーブルの関連付け順序を決定します。 2. 外部リンクを内部リンクに変換する 3. 同等の変換規則を使用する 4. count()、min()、max()を最適化する 5. 式を定数式に変換する 6. 同等の変換規則を使用する 7. サブクエリの最適化 8. in()条件を最適化する クエリ処理のさまざまな段階で費やされた時間を判断する方法 プロファイルの使用 プロファイリングを 1 に設定します。 クエリ N のプロファイルを表示します。 クエリの各段階にかかる時間 プロファイルを使用して、ステートメントに費やされた時間を表示します 特定のSQLクエリの最適化 1. マスタースレーブ切り替えの原理を利用して、大きなテーブルのテーブル構造を変更します。たとえば、スレーブサーバーで変更し、変更が完了したらマスタースレーブ切り替えを実行し、元のマスターで大きなテーブルを変更します。一定のリスクがあります。 大きなテーブルを変更するには、pt-online-schema-changeコマンドを使用します。具体的な操作は次の図に示されています。 上図のパラメータの説明
オリジナル作品、転載する場合は出典を明記してください 以下もご興味があるかもしれません:
|
<<: LinuxサーバにおけるNginxとApacheの共存の実装方法の分析
>>: JS と Nodejs におけるイベント駆動型開発についての簡単な説明
1. 基本仕様(1)InnoDBストレージエンジンを使用する必要があります。解釈:トランザクション、...
結果: html <nav id="nav-1"> <a cl...
目次MySQL ベースの検索エンジンの実装1. ngram全文パーサー2. 全文インデックスを作成す...
Linux では、ファイルが作成されると、そのファイルの所有者はファイルを作成したユーザーになります...
開発プロジェクトでは、MySQL のスロークエリログを通じて効率の問題のある SQL を監視できます...
クロスドメインソリューションjsonp (get をシミュレート) CORS (クロスオリジンリソー...
1. コマンドの紹介read コマンドは、シェルの組み込みコマンドで、標準入力または -u オプショ...
序文Vue(発音は /vjuː/、view に似ています)は、ユーザーインターフェイスを構築するため...
序文Tomcat は優れた Java コンテナですが、避けられない小さな落とし穴もいくつかあります。...
インデックスはソートされたデータ構造です。 where 条件での検索や order by 条件での並...
Array の filter、find、some、reduce メソッドの違いを区別し、使用シナリオ...
チャレンジ:文字列内の文字 &、<、>、" (二重引用符)、および &...
npm インストールチュートリアル: 1. Node.jsインストールパッケージをダウンロードする公...
ダウンロードリンク:動作環境VMware 仮想マシンの CentOS 7.6セキュアCRT Xftp...
1. テーブルAのデータを使用してMySQLのテーブルBの内容を更新するたとえば、データ テーブル内...