ホームページ > データベース > mysql チュートリアル > 「00」で始まる値とゼロ以外の 3 番目の文字について PostgreSQL に効率的にクエリを実行するにはどうすればよいですか?

「00」で始まる値とゼロ以外の 3 番目の文字について PostgreSQL に効率的にクエリを実行するにはどうすればよいですか?

DDD
リリース: 2024-12-26 17:58:09
オリジナル
460 人が閲覧しました

How Can I Efficiently Query PostgreSQL for Values Starting with

PostgreSQL LIKE 句の正規表現

このクエリは、'00' で始まり 3 番目の文字が '0 以外である値と一致することを求めます。 「0090D0DF143A」のように。ただし、次のクエリは一致しません:

SELECT * FROM table WHERE value LIKE '00[1-9]%'
ログイン後にコピー

この問題に対処するには、正規表現演算子 '~' を LIKE 句の外側で括弧式とともに使用することを検討してください。ただし、最適なパフォーマンスを得るには、LIKE 句と NOT LIKE 句の組み合わせをお勧めします。

SELECT *
FROM   tbl
WHERE  value LIKE '00%'
AND    value NOT LIKE '000%'
ログイン後にコピー

LIKE 句は、左アンカー式を使用して潜在的な一致を効率的に絞り込みますが、NOT LIKE 句は、結果。 Postgres はそのような式にインデックスを利用できるため、クエリの実行が高速化されます。

さらに、正規表現で '^' を使用してパターンを文字列の先頭に固定し、括弧表現 ' を使用することが重要です。 1' 以外の文字と一致します。 '0'.


    以上が「00」で始まる値とゼロ以外の 3 番目の文字について PostgreSQL に効率的にクエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート