フォロー

@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インデックスに変えて、両方にインデックス効かせる選択をしました。

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。