ホームページ  >  記事  >  データベース  >  もう MySQL の使い方を誤解しないでください。

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

藏色散人
藏色散人転載
2022-11-04 16:42:571926ブラウズ

背景: グループの友人は、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 までご連絡ください。