ストアのテーブル(〜10kレコード)とスケジュールのテーブル(〜200kレコード)があれば、使用するプランナを作成してインデックスを作成しようとしていますが、これまで無視しています。Postgres index 2列の条件付き
select * from stores str
inner join schedule sch on sch.store_id = str.store_id
where sch.open is true and sch.tables > 0
create index sch_open_tables_idx on schedule(open, tables) where open is true and tables > 0
正しい方法がありますか?
インデックスが無視されていると思われ、無視されていると思われるlog/result/testを含めることができますか? – Alfabravo
[postgresql-performance](http://stackoverflow.com/tags/postgresql-performance/info)を読んで**あなたの質問を** [編集] **し、不足している情報を提供してください。 –
少なくとも、インデックスに 'open'カラムは必要ありません(常に' true'になります)が、 'store_id'が役に立ちます(そのインデックスの最初のカラムとして)。また、クエリとインデックスの両方で 'where sch.open'を使うことができます。' true true'は必要ありません。(どちらも害はありません。 – pozs