インデックス集約を使用しない MySQL クエリ ご存知のとおり、インデックスを追加することはクエリ速度を向上させる効果的な方法です。ただし、多くの場合、インデックスを追加してもクエリはインデックスを使用しないため、パフォーマンスに重大な影響を及ぼします。ここでは、MySQL がインデックスを使用しない簡単な例をいくつか示します。 MySQL は、インデックスを使用するとテーブル全体のスキャンよりも遅くなると予測した場合、インデックスを使用しません。たとえば、列キー MEMORY/HEAP テーブルを使用し、列のインデックス付けに where 条件で "=" を使用しない場合、インデックスは使用されません。ヘッド テーブルは、"=" 条件が使用されている場合にのみインデックスを使用します。 or で区切られた条件の場合、条件内の or の前の列にインデックスがあり、その後の列にインデックスがない場合は、関連するインデックスは使用されません。たとえば、 複合インデックスの場合、インデックス列が複合インデックスの最初の部分でない場合、インデックスは使用されません(つまり、左端のプレフィックスを満たしません)。たとえば、複合インデックスが (key1, key2) の場合、クエリ like が '%' で始まる場合、その列のインデックスは使用されません。たとえば、 列が文字列の場合、文字定数値は where 条件で引用符で囲む必要があります。そうしないと、列にインデックスが存在しても使用されません。たとえば、 上記から、インデックスを作成しても使用されない可能性があることがわかります。では、インデックスの使用状況をどのように確認すればよいのでしょうか? ? MySQL には、 MySQL インデックスを正しく作成する方法の詳細については、MySQL インデックスを正しく作成する方法の詳細な説明を参照してください。ご存知のとおり、テーブル インデックスは、データ取得の効率を向上させ、データベース IO コストを削減し、データベースのソート コストを削減できます。ただし、インデックスは常に効果的であるとは限りません。たとえば、次の状況ではインデックスが失敗します。 1. 条件に or がある場合、条件にインデックスがあってもインデックスは使用されません (SQL 文で or ができるだけ使用されないようにするのはこのためです) 注: または を使用してインデックスを有効にする場合は、または条件内の各列にのみインデックスを追加できます。 2. 複数列のインデックスの場合、最初の部分でない限りインデックスは使用されません。 3. like クエリが % で始まる場合、インデックスは使用されません。 4. 列の型が文字列の場合、条件内でデータを引用符で囲む必要があります。そうしないと、インデックスは使用されません。 5. MySQL がフルテーブルスキャンの方がインデックスよりも高速であると判断すると、インデックスは使用されません。 さらに、インデックスの使用状況を表示します 「Handler_read%」のようなステータスを表示します。 誰もが注目できる点: 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
>>: Vue vee-validateプラグインの簡単な使い方
序文LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | gre...
1. ディスクパーティション: 2. fdiskパーティションディスクが2 TB未満の場合はfdis...
1. フレームセット、フレーム、iframeを使用して複数のウィンドウを実現する2. 画像上のマッ...
リストは、テーブルをコンテナーとして使用するテキストまたはグラフの形式として定義されます。商品の種類...
コアコード -- 以下では、MySQLでのソート列の実装を示します -- テストデータ CREATE...
この記事の例では、ページング効果を実現するためのvue+Elementの具体的なコードを参考までに共...
考えてみてください。なぜcss 、 javascriptのようにbodyタグの末尾ではなく、 hea...
この記事では、jQuery キャンバスを使用して QR コード付きのポスターを生成するための具体的な...
ページで CSS を使用する主な方法は、スタイル属性値をインラインで追加する方法、ページ ヘッダーで...
Dockerfile の紹介Docker は、Dockerfile の内容を読み取ってイメージを自動...
元の住所: http://www.webdesignfromscratch.com/web-2.0-...
開発およびデバッグのプロセスでは、新しいコードと古いコードの違いを比較する必要があります。比較には、...
導入今日は、MySQL の sum 関数の使い方を紹介します。この関数は、MySQL データベースを...
SSH 公開鍵認証は、SSH 認証方式の 1 つです。 SSH パスワードフリーのログインは公開鍵認...
目次数学オブジェクト共通プロパティ一般的な方法Math.random()文字列メソッド長さプロパティ...