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

適切な全文索引Rails/PostgreSQL / pg_search

    この表現:

    to_tsvector('simple', (COALESCE(title::TEXT), ''))
    

    インデックスに対してsargableではありません。

    クエリで使用される式のインデックスを正確に宣言する必要があります:

    CREATE INDEX products_gin_title
    ON products
    USING GIN(to_tsvector('simple', COALESCE(title::TEXT,'')))
    

    (または、インデックスで使用される式をrubyに生成させます。)

    複数の列にインデックスを付ける場合は、それらを連結するだけです:

    CREATE INDEX products_gin_title
    ON products
    USING GIN(to_tsvector('simple', title || ' ' || product_type || ' ' || platform_id))
    

    ただし、ここでも、Rubyは、インデックスを使用するためにまったく同じ式でフィルタリングする必要があります。




    1. PHPおよびjQueryとのライブチャット。情報をどこに保存しますか? Mysqlまたはファイル?

    2. Oracleセッションの言語を変更する方法

    3. SQL Serverシステムデータベース–MSDBのメンテナンス

    4. OracleでのBLOBストレージの長さ