Hallo,
Indexdefinition = Welche Indizes gibt es.
select max(a.waaunr) from as400archiev as a
where a.watenr=:artikel
and left(a.oamanr,2) in (SELECT arbeitsplatzkz from bereiche
where bereiche_text= :bereich )
group by a.oamanr
Das
in (also das SubSelect) könnte bei
MySQL zu Problemen führen,
wenn der
SQL-Server das für jeden einzelnen Datensatz ausführt.
Mach mal 2 Queries draus, hole dir mit Query1 die arbeitsplatzkz
und benutze das Ergebnis Query2 (Select max).
SubSelects
https://stackoverflow.com/questions/...low-workaround
MySQL müsste auch einen Planalyzer haben, der einen
Query-Plan erzeugt,
also sagt, wie der
DB-Server intern eine
Query abarbeitet.
Wenn dann z.B. bei
SELECT arbeitsplatzkz from bereiche
where bereiche_text= :bereich
steht
natural scan, muss die komplette Tabelle durchlaufen werden, um das Ergebnis zu bekommen.
Liegt ein Index auf bereiche_text, würde der die Suche beschleunigen.
Zu meinen Fragen:
1.9 Sekunden bei
Select* und
Select ein_Feld.
Tja, ein Planalyzer könnte dir jetzt sagen, ob die
Query-Ausführung (Execute) langsam war,
oder das Übermitteln der Daten über das Netz (Fetch).
Ohne einen Planalyzer könntest Du deine Anwendung auch auf dem
SQL-Server mal selber laufen lassen.
Dann ist der Netzeinfluss erst mal weg.