もう MySQL の使い方を誤解しないでください。

藏色散人
リリース: 2022-11-04 16:45:44
転載
1943 人が閲覧しました

背景: グループの友人は、in にインデックスを付けることができるかどうかは、in に含まれる文字列の数に関係していると言いました。文字列の長さが超過すると、インデックスは使用されなくなります。

実はこの認識は間違っており、多くの転載記事に誰もが騙されているのです! ! !

in にインデックスを作成できるかどうかに実際に影響するのは、in 内の修飾されたデータの割合によって異なり、mysql にインデックスを作成できるかどうかに影響します。

前回のテストでは、データの 40% 以上が一致することがわかりました (このしきい値は必ずしも 40% である必要はありませんが、前回のテストでは約 40% であったため、インデックスは使用されません。これは次の影響も受けます)その後、インデックスを付けずにテーブル全体を調べ始めます

実践:

図 1:

もう MySQL の使い方を誤解しないでください。

写真 2:

もう MySQL の使い方を誤解しないでください。

#写真 3:

もう MySQL の使い方を誤解しないでください。

写真 4:

もう MySQL の使い方を誤解しないでください。

#写真 5:

もう MySQL の使い方を誤解しないでください。上図に示すように、テーブルリターンやインデックスカバレッジの影響を考慮しない場合、in の一致データがテーブルデータ全体の多くを占める場合、フルテーブルスキャンが開始されます。インデックスなしで。

#さらに、特別な指示

#1. in が単一の値の場合、mysql は自動的に = に最適化するため、インデックスは引き続き使用されます2. in と select の列が同じ場合、テーブルに戻る必要がないため、カバーインデックスが使用されます

推奨学習: 「

MySQL ビデオ チュートリアル#」 ##"

以上がもう MySQL の使い方を誤解しないでください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート