@askyq media_attachments テーブルにstatus_idで引けるインデクスがあるので、おそらくそのようなフラグは必要ありません。 https://github.com/mastodon/mastodon/blob/main/db/schema.rb#L594
@tateisu ありがとうございます。
あすか素人なので思いつきでしか発言できないのですが、メディアタイムラインの表示は現状、下記の処理でStatusを絞り込んでいます。
app/models/publicfeed.rb
```
def mediaonly_scope
Status.joins(:media_attachments).group(:id)
end
```
メディアのテーブルをJoinしたうえでGroup Byしているのですが、これらは低速なんじゃないかと思います。Joinしなくてもいいようにこのフラグつけたほうがいいんじゃないかと思ってました。。
@askyq mastodonにデフォルトでpgHero入ってて、Slow Queryの一覧が見れると思います。
\d statuses
(snip)
"index_statuses_local_20190824" btree (id DESC, account_id) WHERE (local OR uri IS NULL) AND deleted_at IS NULL AND visibility = 0 AND reblog_of_id IS NULL AND (NOT reply OR in_reply_to_account_id = account_id)
"statuses_public_local" btree (id) WHERE visibility = 0 AND reblog_of_id IS NULL AND (reply = false OR in_reply_to_account_id = account_id) AND (local = true OR uri IS NULL)
@noellabo @tateisu
ありがとうございます。
うちのサーバーでは、連合タイムラインはすぐ結果を返します。重いのはローカルだけです。