@tateisu https://www.postgresql.jp/document/10/html/sql-prepare.html#SQL-PREPARE-NOTES 恐らくPostgresはPREPARED STATEMENTに対して実行計画を個別生成するかどうかを判断はしてるっぽい気はするし個別生成する必要がなければ個別生成しないげ…?
@tateisu Java SI 系者 的には arel の結果が直SQLなのも気に食いはしないねん…。(仕方ないので使うけど)
@tateisu https://gist.github.com/clworld/8610c702afc867a5a3fcd1d20dcef45e
うちの過疎インスタンス(fnya.ggtea.org)でindex張ってPREPARE付きでEXPLAINしたところちゃんとindexは使われるっぽいのでPostgres的にindex使っても対して変わらん判定で無視された系ではないかと思う…。
これnere9以外説明になってなくない? https://twitter.com/clworld/status/997328048318906369
@tateisu まあそうですね
@tateisu むむむむ(Java SI 系の人間なのでSQL内直書きに抵抗がある)
@tateisu まじかー…。(Postgresってそんなにおぼかさんだっけ…?? ってなってる)
https://mastodon.juggler.jp/@tateisu/98831518872335540
Mastodonの本体って大きなLTLも人がたくさんいる方に最適化されてるのでおひとりにはあまり最適化されてないみたいなのは…あるっぽい
このインデックス入れるとLTLが過疎ってる場合のAPI応答性が大幅に改善しますが、インデックスを増やすことによるコスト増加と見合うかどうかは人によると思います。
https://gist.github.com/tateisu/58d8e566f67a2cd3aa999c7c4b5e6ee1
じさばどん