さっきのやつ、期待していない挙動には違いないので直せばいいと思うけど、実際有意な差がでるのかよくわかっていない…
@unarist diffがあればうちの弱っちいPostgresで試してみることもできますです〜
@zundan https://github.com/tootsuite/mastodon/blob/a9abe8909371f4a3069760e6bd8d7444b85dab71/app/presenters/status_relationships_presenter.rb#L14 の行末に.compactを足すとTLや通知カラムの読み込みが速くなったりするかなーみたいな感じです。もしくは
EXPLAIN ANALYZE SELECT "reblog_of_id" FROM "statuses" WHERE ("reblog_of_id" = 1 OR "reblog_of_id" IS NULL) AND "account_id" = 11 ORDER BY "id" DESC
の OR "reblog_of_id" IS NULLの有無とか。
@unarist とりあえずEXPLAIN ANALYZEです。OR "reblog_of_id" IS NULLを無くすとだいぶ速くなって少しだけ返ってくる行が多いようです。行が多いのがよくわからない…。
https://gist.github.com/zunda/9abfa85dc1f72d037e058d5e481c6585
他のインスタンスへの迷惑はないだろうと思うので、.compact足してしばらく運用してみますね。
@zundan すいません、account_idはzundaさんので試してもらうべきだったかも…まあでもえらい違いが出てますねw