Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: Select über 2 Tables dauert mehere Minuten

  Alt 30. Mai 2006, 13:18
Die Primärschlüssel beider Tabellen schliesen das Feld "SORT_ID" mit ein.
Eigentlich düften nur folgende Felder zum Primärschlüssel gemacht werden:
TRANSAKTION.ID und TRANSAKTIONDETAILS.ID
Was passiert nun bei deinem Join ?
FROM TRANSAKTION T INNER JOIN TRANSAKTIONDETAILS TD ON(T.ID = TD.TRANSAKTION_ID) Da die Werte für das Feld "SORT_ID" hier überhaupt nicht festgelegt wurden, kann
der Primärschlüsselindex nicht für den Join herangezogen werden!!
Die Folge: der Join muss völlig ohne Indexunterstützung vom Server hergestellt werden
==> extrem lange Verarbeitungszeit.

meine Empfehlung:
TRANSAKTION.ID => Primärschlüssel
TRANSAKTION.SORT_ID => Index drauf
TRANSAKTION.IMPORT_ID => Index drauf

TRANSAKTIONDETAILS.ID => Primärschlüssel
TRANSAKTIONDETAILS.TRANSAKTION_ID => Index drauf (besonders wichtig für den JOIN)
Andreas
  Mit Zitat antworten Zitat