インデックス集約を使用しない 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プラグインの簡単な使い方
付箋紙の壁シリーズを実現しようと思っています。シンプルなものはシンプル、複雑なものは多機能です。開発...
今日は何もすることがなかったので、いくつかのツール(オンラインとクライアント)、よく使用する URL...
目次MySQL ベースの検索エンジンの実装1. ngram全文パーサー2. 全文インデックスを作成す...
最近、Linux オペレーティング システムを使用して実行可能ファイルを実行していたところ、「そのよ...
序文「データベース トランザクションの特徴は何ですか?」と尋ねられたら、 ACID 特性である原子性...
1. Iframe タグの使用<br />Iframe については、「忘れられた隅」に放...
導入前の記事で述べたように、NodeJS には 2 種類のスレッドがあります。1 つは、ユーザー リ...
目次序文デザイン成し遂げるまとめ序文最近は、いつも延々とスワイプしています。 Weibo をチェック...
背景記事を始める前に、賽博朋克とは何か、賽博朋克2077とは何かを簡単に理解しましょう。サイバーパン...
オーディオおよびビデオ ファイルを保存するためのディスク寿命を延ばすには、ディスクをフォーマットする...
接続は、実際の外部キー(人工的に作成された 2 つのテーブル間の対応関係を指します。対照的に、FOR...
この記事では、ログイン認証を実装するためのExpressの具体的なコードを例として紹介します。具体的...
場合によっては、データ内のデータを再利用する必要がありますが、データ内のデータはさまざまなフォーム、...
序文最近、オンラインでデータが誤って操作されました。データベースが直接変更されたため、それを回復する...
1 背景最近、Shimo Document のオンライン ビジネスでパフォーマンスの問題が発生しまし...