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