1. はじめに:学生テーブルと共同ファジークエリ用の4つのテーブル(グループテーブル、クラステーブル、タグテーブル、都市テーブル)がある「学生管理システム」を構築しましたが、効率が非常に低いため、ファジークエリのような効率を向上させる方法を考えました。 注: このブログを読む前に、次の点を確認してください: MySQL で SQL 文の実行時間を表示する方法 2. 最初のアイデアはインデックスを構築することです1. like %keyword インデックスが無効なため、完全なテーブルスキャンが使用されます。 2. キーワード% インデックスが有効です。 3. %keyword% インデックスが無効な場合は、フルテーブルスキャンを使用します。 explain を使用してテスト済み: 元のテーブル (注: この例では学生テーブルを例として使用しています) -- ユーザーテーブル create table t_users( id int 主キー auto_increment, -- ユーザー名 varchar(20), -- パスワード password varchar(20), -- 本名 real_name varchar(50), -- 性別 1 は男性、0 は女性を意味します。 - 生年月日、 -- 携帯電話番号 mobile varchar(11), -- アップロードされたアバターパス head_pic varchar(200) ); インデックスを作成する #テーブル名(列名)にインデックス インデックス名を作成します。 t_users(username) にインデックス username を作成します。 %keyword% インデックスが無効なので、フルテーブルスキャンを使用してください 説明 ID、ユーザー名、パスワード、本名、性別、生年月日、携帯電話、顔写真を選択してください ユーザー名が '%h%' のような t_users から; keyword% インデックスなどが有効です。 説明 ID、ユーザー名、パスワード、本名、性別、生年月日、携帯電話、顔写真を選択してください ユーザー名が 'wh%' のような t_users から; %keyword のようにインデックスは無効で、完全なテーブルスキャンが使用されます。 3. 命令最初は聞いたことがなかったのですが、今日調べてみたら、この貴重なものについて知りました。 #instr(str,substr) メソッドで ID、ユーザー名、パスワード、本名、性別、生年月日、携帯電話、顔写真を選択します t_users より instr(ユーザー名,'wh')>0 の場合 #0.00081900 #あいまいクエリ ID、ユーザー名、パスワード、本名、性別、生年月日、携帯電話、顔写真を選択 t_users より ユーザー名は「whj」のようになります。# 0.00094650 両者の効率の差が大きくない主な理由は、データが少ないことです。最高の効果を得るには、テスト用に元のデータをもっと用意するのが最善です。 P.S. Like はインデックスを使用しますか?1. like %keyword インデックスが無効なため、完全なテーブルスキャンが使用されます。ただし、前に flip function + あいまいクエリを使用して、like + flip function index を作成すると、完全なテーブルスキャンの代わりに flip function index を使用できます。 2. キーワード% インデックスが有効です。 3. 類似 %keyword% インデックスが無効であり、逆インデックスは使用できません。 要約するこれで、MySQL の遅い Like ファジークエリを最適化する方法についての記事は終わりです。MySQL の遅い Like ファジークエリを最適化する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: クラウド サーバーを使用して CentOS システムに .NET 6.0 をインストールする
目次1. 要件の説明2. アイデアの概要1. 延長を要求する2. アイデアの概要3. SQLコード1...
目次1. JSONとは何か1.1 配列リテラル1.2 オブジェクトリテラル1.3 混合リテラル1.4...
最近、Docker に MySQL をインストールしたところ、データベースの時刻がシステム時刻と 8...
Linuxは特定のプログラムを見つけますwhereis コマンドは主にプログラム ファイルを検索し、...
Linux と Unix はマルチユーザー オペレーティング システムであるため、ファイルの権限と所...
最近、同社は CCFA 関連のいくつかの作業を行う予定で、その 1 つはカメラのリアルタイム監視を再...
この質問をされたとき、私は無知で頭が真っ白になりました。もちろん、正しく答えられませんでした。私はず...
目次背景成し遂げるvue-cli2.0での設定方法の補足要約する背景プロジェクトにはローカル構成ファ...
北西を見ると私の故郷はどこにあるでしょうか。南東の満月を何度見たことがあるでしょうか。月が再びゆっく...
目次1. ミニプログラム下請け2. Uniapp 下請けアプレット下請けの手順: 1. manife...
最近人気のWeChatタップ機能を見て、CSS3アニメーションを見直し、このボックスシェイクアニメー...
初めてwampをインストールした後、すべてのサービスが正常に使用できますが、再起動するとwampのア...
序文:この記事では主に、MySQL の where、group by、order by、limit、...
目次ログインビジネスプロセスログイン機能の実装要約するまず、エフェクトの実装プロセスを見てみましょう...
Windows10 Home Edition でHyper-vを有効にする方法をまだ探していますか?...