脇道の細かい議論しても仕方がないから、論点を絞ろう。

君が主張したいのはこれか?
>>259
> 複数の列に張るより単一の方が有利だろう

それに対する俺の主張は、「year, monthに複合インデックス貼る方が有利」。
理由は、
・インデックスが全くない場合は、seq scanになり、論外
・yearのみにインデックスを張った場合、「2017年度」のデータを参照するとき、2年分のデータを読み1年分のデータを捨てる必要がある
・monthのみのインデックスには意味がない
・year, monthにインデックスを張れば、>>179のような会計年度別集計などの場合にインデックスが使われる(もちろん、使った方がコスト的に有利な場合)

・(おまけ)year, monthにインデックス張っても、where fiscal_year(year, month) = 2017などとするとインデックスが使われなくなる
・(さらにおまけ)PostgreSQLには、関数インデックスという機能があり「fiscal_year(year, month)」に対してインデックスを貼ることができる
・(蛇足)そこまでするなら、普通にクエリ書け