Hallo,
SELECT A.auf_index, .. B.ba_lfnr, B.ba_status_tsystems, B.ba_datum, B.ba_arbeitsvermerk, B.ba_auflagentermin, B.ba_auflagentermin_ok FROM auftrag A LEFT JOIN ba B ON A.auf_index=B.auf_index ORDER BY B.ba_auflagentermin desc, A.auf_index desc;
Er braucht aber ca 10 Sekunden um die Zeilen zu liefern.
Also die Abfrage da oben dauert 10 Sekunden? Das kann dann nur an der fehlenden Indizierung von B.ba_auflagentermin liegen. A.auf_index ist ein Primärschlüssel, ist also in jedem Fall indiziert.
Liegt auf B.ba_auflagentermin ein Index? http://www.mysql.de/doc/de/SHOW_DATABASE_INFO.html
http://www.mysql.de/doc/de/CREATE_INDEX.html
Wenn es diesen Index geben sollte, kannst Du noch http://www.mysql.de/doc/de/OPTIMIZE_TABLE.html versuchen, um die Tabellen zu defragmentieren.
Sonst dauert es eben so lange. Überlege, ob Du den Outer-Join wirklich brauchst, also, ob Du die Datensätze aus Tabelle A brauchst, denen keine Datensätze aus Tabelle B zugeordnet werden können. Die Aussage:
"Ich brauche nur die Spalten die in A.auf_auflagentermin und B.ba_auflagentermin ein Datum haben."
hört sich _nicht_ danach an, es sei denn Du meinst:
Ich brauche nur die _Datensätze_, die in A.auf_auflagentermin _ODER_ B.ba_auflagentermin ein Datum haben.
viele Grüße
Axel