Czy masz indeks wyrażenia, które daje tytuł? Jeszcze lepiej, jeden na (user_id, title_expression).
Jeśli nie, może to być świetna rzecz do dodania, aby zapętlić pierwsze 25 wierszy skanowania indeksu, ponieważ Postgres nie może racjonalnie odgadnąć, które losowe 25 wierszy (stąd skanowanie sekwencji, które obecnie wykonujesz na łączony stół).