Wenn keine weiteren Einschränkungen (where) gibt sollte der Index reichen ( ich gehen davon aus, dass PosGreSQL für die Schlüssel einen Index anlegt)
Diese scheinen aber bei Joins nicht verwendet zu werden
Zitat von
http://sql-info.de/postgresql/FAQ_german.html:
Indexe werden normalerweise nicht in ORDER BY-Abfrage oder in JOINs verwendet. Ein sequentieller Scan mit anschließendem explizitem Sortiervorgang ist normalerweise schneller als ein Index-Scan einer großen Tabelle. Jedoch wird bei einer Abfrage, in der LIMIT zusammen mit ORDER BY verwendet wird, oftmals ein Index verwendet, da nur ein kleiner Abschnitt der Tabelle zurückgeliefert wird.
Zitat:
Sollte es danach aussehen, also ob der Optimierer irrtümlich einen sequentiellen Scan ausführt, führen Sie SET enable_seqscan TO 'off' aus und prüfen Sie, ob die Indexabfrage dadurch scheller geworden ist.