0

case_sensitive_likeオンにするとクエリの動作が速くなる、と誰かが言ったのを聞いたことがあります。もしそうなら、次のように大文字と小文字を区別せずにデータを選択するクエリが 2 つあるとしたらどう思いますか。

  1. SELECT * FROM MyTable WHERE MyColumn LIKE '%Value%'

    case_sensitive_likeがオフ(デフォルト)であると仮定するとValuevaluevAluevalUE、...

  2. PRAGMA case_sensitive_like = ON;
    SELECT * FROM MyTable WHERE LOWER(MyColumn) LIKE LOWER('%Value%');

    Valueこれはvalue、、、、...vAlueであっても同じ結果を返します。valUE

#2が#1よりも優れていることを願っています。

助けてください。ありがとう。

PS: #2 のパフォーマンスは、値の定数を最初に小文字の文字列の値で宣言することによって改善できると思います。または、クエリを渡す前にこれを処理することもできます (たとえば、C# コードで)。

4

1 に答える 1