うちにも導入しました直接開けるのは楽だねhttps://fedibird.com/@noellabo/107052861636785287#atsuchan_page
Conversation
Notices
-
あつあつ :pudding_verified: (46kg/16.9) (atsuchan@atsuchan.page)'s status on Wednesday, 06-Oct-2021 16:13:14 JST あつあつ :pudding_verified: (46kg/16.9) -
のえる (noellabo@fedibird.com)'s status on Wednesday, 06-Oct-2021 16:13:08 JST のえる @atsuchan これcherry-pickしたなら、注意点が一つ。uriじゃなくて、urlを検索するところ、別途インデックス張ってないとメッチャ遅いです。Fedibirdは元々Hashインデックス張ってあるのであります。
-
のえる (noellabo@fedibird.com)'s status on Wednesday, 06-Oct-2021 16:31:34 JST のえる @atsuchan まぁ知らなきゃ気付くの無理だからw
経緯を言うと、
本家では、uriにだけ元々インデックスが張ってありまして、urlには張ってません。
で、urlを条件にしちゃうクエリが時々発生して、どうするべっていう話がありまして、
Mastodonではヒューリスティック、urlが /@noellabo/107052861636785287 形式なのをみつけたら /users/noellabo/statuses/107052861636785287 形式に変えてuriで検索しちゃおうぜ、とかいう荒技を使って、意地でもインデックス張らない方向でw 解決しています。
ひとつは、urlにインデックス張るとクソデカイということがあります。ウチはHashなので小さめですがそれでも2GBはあります。
また、PostgreSQL 9.6以降で運用できるようにB-treeのインデックスを使っているというのもあります。
Fedibirdは、完全一致でしか使わないし、PostgreSQLは10以降ってことにして、Hashインデックスに変えて、両方にインデックス効かせる選択をしました。
-
あつあつ :pudding_verified: (46kg/16.9) (atsuchan@atsuchan.page)'s status on Wednesday, 06-Oct-2021 16:31:37 JST あつあつ :pudding_verified: (46kg/16.9) @noellabo あー…(また何も考えずに持ってきちゃった、、
-