1. 一般的な使用法: (1)%で使用する % は 1 つ以上の文字のワイルドカードを表します。たとえば、フィールド名が大文字で始まるデータを照会する場合は次のようになります。 (2)一緒に使う _ は 1 文字だけのワイルドカードを表します。上記のクエリの % を _ に変更すると、次のデータのみが見つかることがわかります。 2. ファジークエリを使用すると、データ量が多い場合にインデックスの失敗やパフォーマンスの問題が発生します。 (1)%または_で始まるあいまい検索を避ける 実行プランを説明すると、ファジークエリを使用する場合、クエリが%と_で始まっていなくてもインデックスは有効であることがわかりました。 クエリが % または _ で始まる場合、インデックスは無効になります。 (2)カバーインデックスの使用 クエリ条件とクエリ結果の両方がインデックス内のフィールドである場合、このインデックスはカバーリングインデックスと呼ばれることがあります。このとき、ファジークエリインデックスのような使用が効果的です。 InnoDBの主キーをインデックスに追加できません 注意:カバーリング インデックスを使用する場合、フィールドの長さは要件によって制限されます。通常、長さを超えるとインデックスは無効になります。 クエリに説明フィールドを含めると、カバーインデックスも失敗します (データベースはテスト済みで、最大長 255 のフィールドのみをサポートしています) (3)全文索引を利用する フィールドの全文インデックスを作成し、match(...) against(...)を使用して検索します。 注意: この全文インデックス作成方法は英語の単語にのみ有効で、中国語の文字には適していません。中国語の文字をサポートするには、MySQL 構成ファイルにいくつかの構成変更を加える必要があります。 (4)追加の全文検索エンジンを使用して解決する Lucene、Solr、Elasticsearch など。 基本的な原則は、MySQL 構成ファイルの ft_min_word_len=3 を 1 に変更することです。 (この項目が利用できない場合は、直接追加してください)、単語分割の結果を保存するための新しいフィールドを作成し、このフィールドのフルテキスト インデックスを作成します。次に、単語分割モジュールを実装して、「everyone is good」という単語を「everyone is good、everyone is good、every family is good」に分割します。次に、like %% の代わりに match .. against を使用します。クエリ結果は基本的に like の結果と同じですが (単語の分割が適切である場合)、効率は like よりも少なくとも 10 倍高くなります。 要約する これで、MySQL ファジークエリに関するこの記事は終了です。MySQL ファジークエリに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: js のマクロタスクとマイクロタスクについての簡単な説明
>>: Nginx リバース プロキシと負荷分散を実装する方法 (Linux ベース)
1. VPSとCentOSシステムを購入しましたが、サーバーの時間が北京時間と一致せず、時差があるこ...
前回の記事では、Oracle でピボット テーブルを実装するいくつかの方法を紹介しました。今日は、同...
数年前、Taobaoのモバイル版の左下隅に面白い丸いボタンがあったことを覚えています。それをクリック...
概要(公式にはより詳しい説明があります) Firewalld は、ネットワーク接続またはインターフェ...
CentOS6 インストール ディスク (任意のバージョン) を準備するか、別の pnux インスト...
方法 1: <input id= "File1" type= "...
まず、いくつかの概念を明確にします。 JDBC: Javaデータベース接続、Oricalによって規定...
この記事は共有および集約することを歓迎します。全文を転載する必要はありません。著作権を尊重してくださ...
目次1. 結論から始めましょう2. キーの役割2.1 例2.2 上記の例を修正する2.3 例を再度修...
<br />今は情報爆発の時代であるだけでなく、サービス爆発の時代でもあります。それはす...
Ubuntu 20.04は2020年4月に正式にリリースされました。本日、ミラーシステムを正式にイン...
Google Reader で、JunChen が書いた「フロー理論と設計」というタイトルの投稿を見...
MySQL データベースをバックアップするためのツールは多数あります。過去 2 日間で、C# を使用...
目次1. プロトタイプモード例1例2例3 2. オブザーバーパターン1. プロトタイプモードプロトタ...
Vue の紹介現在のビッグフロントエンドの時代は、混乱と衝突の時代です。世界は多くの派閥に分かれてお...