sql >> データベース >  >> RDS >> PostgreSQL

WHERE句のさまざまな組み合わせのインデックス作成戦略。テキストパターン

    追加した述語はLIKEを使用します 演算子:

    AND network LIKE '%'
    

    実際のクエリプランは、'%'の代わりに渡すものによって異なりますが、一般に、プレーンなbtreeインデックスはこれには役に立ちません。探しているパターンに応じて、トリグラムインデックスが必要になるか、テキスト検索インフラストラクチャなどを使用します。

    参照:

    複数のインデックス作成戦略を組み合わせることもできます。例:

    それが想定されている場合:

    AND network = '<input_string>'
    

    次に、必ず、実際に =を使用してください。 LIKEではなく演算子 。重要度の昇順の理由:

    1. 短い
    2. 混乱が少ない
    3. Postgresプランナーの仕事が簡単になります(非常にわずかに安くなります)
    4. 正解

      特殊文字を含む文字列を誤って渡すと、誤った結果が得られる可能性があります。参照:




    1. ウィンドウ関数を使用してPostgresテーブルのパーティションのグループを列挙するにはどうすればよいですか?

    2. pgadmin4クエリツールは常に接続されていない状態で戻ってきます

    3. スペースを無視するクエリ

    4. アップデートで数値を比較するMySQLMAX()関数?