1. 遅いクエリログ 1.1 MySQL ログの種類 ログは、データベースの操作や、ユーザーがデータベース上で実行したさまざまな操作を記録するために使用されます。データベース障害が発生した場合、ログに基づいて問題を分析・解決し、データベースを復元することができます。 1.2 スロークエリログを理解する スロー クエリ ログは、応答時間が指定されたしきい値を超える MySQL データベース内のステートメントを記録するために使用されます。スロークエリログは、 1.3 スロークエリログコマンドを有効にする方法 スロー クエリ ログは、コマンドを使用して一時的に設定することも、構成ファイルを変更して永続的に設定することもできます。 スロークエリログが有効になっているかどうかを確認する 「slow%」のような変数を表示します。 スロークエリログを一時的に有効にする slow_query_log を 'ON' に設定します。 long_query_timeを1に設定します。 低速クエリログファイルの場所 '%datadir%' のような変数を表示します。 2. クエリアナライザ - EXPLAIN 2.1 はじめに explain コマンドを使用すると、SQL ステートメントの実行プランを表示できます。 explain が SQL ステートメントで使用されると、MySQL はステートメントの実行プランに関するオプティマイザーからの情報を表示します。つまり、MySQL は、テーブルを結合する方法と順序に関する情報を含め、ステートメントを処理する方法を説明します。 何を説明できますか?
2.2 explainの使用 explain の使い方は非常に簡単です。SQL ステートメントの前に コマンドの説明: 3. インデックスの基本的な使い方 3.1 インデックスとは何ですか? インデックスは、書籍カタログに似た特殊なデータ構造であり、データベースのクエリ効率を大幅に向上させることができます。インデックスがない場合、データをクエリするときに、条件を満たすレコードを見つけるためにテーブル内のすべてのレコードをスキャンする必要があります。このフルテーブルスキャンのクエリ効率は非常に低くなります。 要約: クエリの効率を向上させることは、ゴミを分類するようなものです。同じ効果を持つものをまとめて、見つけやすくします。 3.2 一般的なインデックスの種類 インデックスは、データベース テーブル内の1 つ以上の列の値を並べ替える構造です。インデックスを使用すると、データベース テーブル内の特定のレコードにすばやくアクセスできます。 データベースのインデックスは本の目次のようなもので、データベースのクエリを高速化できます。インデックスは高速検索の鍵です。インデックスがない場合、特定のデータを見つけるためにテーブル全体のスキャンが実行されます。 3.3 索引の使用 インデックスを作成 通常のインデックスの作成 CREATE INDEX indexName ON tableName(columnName(length)); ユニークなインデックスの作成 tableName(columnName(length)) に一意のインデックス indexName を作成します。 複合インデックスの作成 CREATE INDEX indexName ON tableName(columnName1, columnName2, …); インデックスの削除 DROP INDEX [indexName] ON tableName; インデックスを表示 テーブル名からインデックスを表示します。 3.4 インデックス作成の実践経験 IV. 複合指数の先頭列特性 複合インデックスの先頭列機能:MySQLでは、複合インデックス リスト: インデックスは使用されていません 給与が 8800 の従業員から * を選択します。 dept='Department A' の場合、employee から * を選択します。 salary=8800 かつ dept='Department A' の場合、employee から * を選択します。 名前の前にインデックス:を使用する name='liufeng' の従業員から * を選択します。 name='liufeng' かつ salary=8800 の従業員から * を選択します。 name='liufeng'、salary=8800、dept='Department A' の場合、employee から * を選択します。 5. カバーインデックス 5.1 カバーインデックスとは何ですか? カバーリング インデックスはインデックス カバレッジとも呼ばれ、データ行を読み取らずにインデックスからのみ カバーインデックスに関する注意事項:
5.2 カバーインデックスが使用されているかどうかを判断する方法 クエリがカバーリング インデックスを使用する場合、クエリ アナライザー 以上で、MySQL の各種インデックスの詳しい使い方についての記事は終了です。MySQL のインデックスの使い方についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 私のブログ: https://blog.csdn.net/weixin_46654114 以下もご興味があるかもしれません:
|
1. インライン参照:ラベルに直接使用されるが、メンテナンスコストが高い スタイル='フォ...
日々の開発経験と関連するオンライン情報に基づいて、アダプティブとレスポンシブの違いをシンプルでわかり...
マクロタスクとマイクロタスクJavaScript はシングルスレッド言語です (マルチスレッドの場合...
MySQL でグループ化した後、各グループの最大値を取得する詳細な例1. テストデータベーステーブル...
随分前に「Patterns for Sign Up & Ramp Up」を読み終えました。今...
プロジェクトシナリオ: 1. アップロードファイルの制限関数: 1. フロントエンド操作による異常な...
目次1. 読みやすいコード1. 統一コード形式2. マジックナンバーを削除する3. 単一機能原則2....
勉強の計画は簡単に中断され、継続するのが困難です。先日、社内で事業の方向性を調整するための会議があり...
requireJS には、baseURL というプロパティがあります。baseURL を設定すること...
ディスク クォータは、コンピューター内の指定されたディスクのストレージ制限です。つまり、管理者はユー...
大きな箱の中に写真があります。マウスをその上に置くと、半透明のマスク レイヤーが表示されます。マウス...
この記事では、シームレスなスクロールを実現するためのフレックスレイアウトのサンプルコードを主に紹介し...
tcpdump は、ネットワークの問題のトラブルシューティングに効果的に役立つ、柔軟で強力なパケット...
この記事では主に、NUXT の validate メソッドに基づいてフォーム検証を実装する方法につい...
MySQL 論理アーキテクチャの概要他のデータベースと比較すると、MySQL は、そのアーキテクチャ...