Har du ett register över uttrycket som ger titeln? Ännu bättre, en på (user_id, title_expression).
Om inte, kan det vara en utmärkt sak att lägga till, för att gå igenom de första 25 raderna av en indexskanning, eftersom Postgres inte rimligen kan gissa vilka slumpmässiga 25 rader (därav den efterföljande skanningen du för närvarande får på sammanfogad tabell) kommer att behövas.