selectline-software / selectline-api

Apache License 2.0
24 stars 5 forks source link

Performance Probleme Anlage Aufträge #410

Open ThorstenPoppe opened 6 days ago

ThorstenPoppe commented 6 days ago

Hallo zusammen,

aktuell haben wir bei einer externen Anwendung, die über die API Aufträge anlegt, Probleme bei der Performance. WaWi und API sind auf Version 23.2.2. Die Anwendung legt aus Shop Bestellungen Aufträge an. Im Aktivitätsmonitor erscheint während der Laufzeit sehr häufig die folgende Abfrage, die auch teilweise über 10 Sekunden Laufzeit hat: select ROW_NUMBER() over(order by ADRESS_ID ) as [ADRESS ROW], ADRESS_ID, Adresse, Adresstyp, Anrede, Titel, Vorname, Name, Firma, Strasse, Ort, PLZ, Land, Postfach, PostfachLand, PostfachOrt, PostfachPLZ, Telefon, Telefon2, Telefon3, Fax, Email, Homepage, Zusatz, Zusatz2, Zusatz3, Funktion, Abteilung, Prioritaet, Verweis, ILNNummer, TS from SL_fnLieferadressenMitAdressenFilter(@CustomerFilter, @SupplierFilter, @ProspectFilter, @UserToken, @EmployeeNumber) [ADRESS] where ( (ADRESS.Adresstyp=@40679e7e03164fafbc8de57a27ee58d2) AND (LEFT(ADRESS.BlobKey, 1)=@184de7fd2a8a479eaeaf564a5c186fe6) ) order by [ADRESS ROW] Während der Laufzeit ist innerhalb der WaWi ein Arbeiten für die Mitarbeiter eingeschränkt, da es häufig zu Meldungen bzgl. Datensatz Sperren kommt. Eine Frage Richtung Support: In welchem Zuge wird diese obige Abfrage gefeuert? Die Anwendung legt zunächst einen Auftrag an, ggf. den Kunden, sofern er nicht existiert und dann die Lieferadresse. Zu guter Letzte werden die Positionen angelegt (alles per API). Wenn wir wissen, in welchem Zuge die Abfrage gefeuert wird, könnten wir die Anwendung dahingehend optimieren und ggf. die Lieferadresse per SQL anlegen, wenn die API hier zu langsam ist.