質問: インデックスは作成されているのに、Like ファジー クエリがまだ遅いのはなぜですか? インデックスを使用するかどうかなど? 1. like %keyword インデックスが無効なため、完全なテーブルスキャンが使用されます。ただし、前に flip function + あいまいクエリを使用して、like + flip function index を作成すると、完全なテーブルスキャンの代わりに flip function index を使用できます。 2. キーワード% インデックスが有効です。 3. 類似 %keyword% インデックスが無効であり、逆インデックスは使用できません。 mysql explain を使用した簡単なテストは次のとおりです。 select * from company_info where cname like '%小%' の説明 select * from company_info where cname like '小%' の説明 Oracle のような '%...%' 最適化 1. '%%'のような使い方は避けてください 2. '%'のような(%で始まっていない)場合、Oracleは列にインデックスを適用できます。 3. '%…' のような(% で終わらない)場合は、reverse + 関数インデックスを使用して '%' のように変更できます。 4. '%%' のような関数を使用する必要がある場合は、Oracle 内部関数 INSTR() を使用して解決します。
MySQL の INSTR (Oracle のものとは異なります) INSTR(文字列、部分文字列) 文字列 str 内で substr が最初に出現する位置を返します。これは、引数の順序が逆になっていることを除いて、LOCATE() の 2 つの引数形式と同じです。 INSTR(フィールド名, 文字列) この関数は、フィールドの内容内の文字列の位置を返します。文字列が見つからない場合は 0 を返し、それ以外の場合は位置 (1 から始まる) を返します。
その後、テーブルをクエリするための SQL ステートメントを複数の SQL ステートメントに分割し、それらをサーバー上で同時に実行し、最後に結果をマージしようとしました。残念ながら私のスキルが浅すぎるため、実装はそれほど良くありません。 全文インデックスも作成しようとしましたが、データベースではそれができませんでした。 最終的に、需要側は妥協し、いいねキーワード%の形式のインデックスを採用しました。 あいまいな Like クエリの解決策についてアドバイスをいただける方がいらっしゃいましたら、大変ありがたく思います。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: WeChatアプレットのスクロールビューが左右連動効果を実現
>>: UA による Web サイトのクロールを防ぐ Nginx のクローラー対策戦略
目次MYSQL メタデータ ロック (MDL ロック) 学習理論とロック タイプ テスト1. 予備的...
ssh-secure シェルは、安全なリモート ログインを提供します。組み込みシステムを開発し、Li...
運用保守エンジニアは、初期段階では非常に大変な仕事です。この期間中、コンピューターの修理、ネットワー...
私が書いた内容が理解できない場合は、インターネット上に理解できるチュートリアルがない可能性があります...
前回の記事では、Oracle でピボット テーブルを実装するいくつかの方法を紹介しました。今日は、同...
序文フロントエンドプログラミングでは、奇数、偶数などの数値を受け入れることができる nth-chil...
導入MySQL InnoDB エンジンがレコードをクエリし、インデックス カバレッジを使用できない場...
MySQL サービスを使用する場合、通常の状況では、MySQL のタイムアウト設定は 8 時間 (2...
MySQL 双方向バックアップはマスター-マスター バックアップとも呼ばれ、両方の MySQL サー...
Centos8仮想マシンを起動し、上下キーを押して図1のインターフェースの最初の行を選択します。図1...
この記事では、カスタムツリーコンポーネントを再帰的に実装するVueの具体的なコードを参考までに共有し...
1. はじめに以前は、Python アプリケーションの作成を開始したい場合、最初のステップはマシンに...
Server 2016 のリモート デスクトップ接続のデフォルト数は 2 ユーザーです。2 人以上...
目次通常のページングクエリ最適化する方法大きなオフセット使用ID制限大量データ問題の最適化通常のペー...
表示するデータが多い場合、1 つのチャートに表示しても効果はよくありません。このとき、2 つのチャー...