ホームページ  >  記事  >  データベース  >  MySQ (Oracle) ファジー クエリを理解し、効率を向上させるために like の代わりに instr() を使用します。

MySQ (Oracle) ファジー クエリを理解し、効率を向上させるために like の代わりに instr() を使用します。

coldplay.xixi
coldplay.xixi転載
2020-07-01 17:59:472369ブラウズ

MySQ (Oracle) ファジー クエリを理解し、効率を向上させるために like の代わりに instr() を使用します。

いいねの効率が非常に低く、データ量が多いと非常に遅くなるのは誰もが知っています。 High

  • SELECT * FROM msg_list WHERE title LIKE '%涂山%'
    よりも効率的な組み込み関数 instr() は、
  • SELECT * FROM msg_list WHERE INSTR(title,'涂山') > 0

に置き換えることができます。 # ThinkPHP/Laravel で使用されるメソッドは次のとおりです:

  1. whereRaw() を使用してネイティブ INSTR() を実行します
  2. 構築クエリを変更します (推奨されませんが、使用すると便利です)
    项目根目录\thinkphp\library\think\db\Builder.php

    MsgList::where([
         'title' => ['instr','涂山']])
     ->select();

関連学習の推奨事項: mysql ビデオ チュートリアル

以上がMySQ (Oracle) ファジー クエリを理解し、効率を向上させるために like の代わりに instr() を使用します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。