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

PostgreSQL:存在するvs左結合

    「グループ」の各行について、postgresqlはproducts_categoriesのフルスキャンを実行していますが、これは適切ではありません。必ずしも構成の問題ではありませんが、そのようなサブクエリをネストせずにクエリを記述できる可能性がありますか?

    SELECT count(DISTINCT "groups".id) AS count_all 
    FROM "groups"
    WHERE exists(
        select 1 from products p where groups.id = p.group_id
                 join products_categories pc on pc.product_id = p.id
        where pc.category_id in (2,3)
        ) and groups.id <> 3
    

    products_categoriesも行います product_idにインデックスがあります ?




    1. 別のストアドプロシージャ内でOracleプロシージャを定義するための構文は何ですか?

    2. PostgreSQL:非常に大きな数値の16進文字列をNUMERICに変換します

    3. テーブルをピボットして、n個の順序付けられた時系列を表示します

    4. innodb分離レベルとロック