Einzelnen Beitrag anzeigen

mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Datenbankabfrage beschleunigen

  Alt 23. Apr 2011, 16:38
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.
Markus Kinzler
  Mit Zitat antworten Zitat