Neu SQL Abfrage wird mehrfach ausgeführt - Ausgabe in der Übersicht falsch

Thomas_S

Sehr aktives Mitglied
2. Oktober 2012
720
122
50226 Frechern
Mir ist beim erstellen einer eigenen Übersicht aufgefallen, dass die SQL-Abfrage ab einer hohen Anzahl von markierten Einträgen (@Keys) wiederholt wird und damit das Ergebnis falsch ist bzw. das Ergebnis mehrfach ausgegeben wird. Getestet und gegengeprüft habe ich das bei Artikeln und Aufträgen.

Ab welcher Anzahl an markierten Artikeln/Aufträgen das Verhalten auftritt, ist unterschiedlich. Die kleinste Anzahl an markierten Artikeln/Aufträgen, bei der der Fehler bei mir auftrat, lag bei ca. 1.600. Darunter ist die Ausgabe korrekt.

Für mich ist das ein Bug. Ist das noch jemandem aufgefallen?

Simple Beispiele für Artikel
SQL:
SELECT kartikel
    FROM tArtikel
    WHERE kArtikel IN (@Keys)
    ORDER BY kArtikel ASC
und Aufträge
SQL:
SELECT kAuftrag
    FROM Verkauf.tAuftrag
    WHERE kAuftrag IN (@Keys)
    ORDER BY kAuftrag

Vielleicht weiß @Manuel Pietzsch mehr?


WaWi 1.7.15.3
 

Thomas_S

Sehr aktives Mitglied
2. Oktober 2012
720
122
50226 Frechern
Laut Dokumention von Microsoft kann es bei einigen tausend Werte zu Problemen führen.
https://learn.microsoft.com/en-us/s...in-transact-sql?view=sql-server-ver16#remarks

Ein Workaround wäre laut Doku die Werte in eine Subquery zu packen.
Das ist nicht das Problem. Auch ganz ohne Filter in der Abfrage, also ein einfaches SELECT kartikel FROM tArtikel, verursacht den selben Fehler. Im SSMS funktionieren die Abfragen ohne Probleme.
 

kelvin.

Sehr aktives Mitglied
15. Februar 2023
166
65
Frankfurt
Kann das auch bestätigen. Habe es reproduzieren können.

Im Profiler habe ich gesehen, dass der in der IN Bedingung nur 2000 Werte übernimmt und dass die Abfrage 5 Mal gestellt worden ist und deswegen in der Übersicht 5 Mal ausgegeben werden.

Es werden aber auch nicht alle Aufträge angezeigt, wenn man den Filter "Alle anzeigen" nutzt.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
1.016
371
Kann das auch bestätigen. Habe es reproduzieren können.

Im Profiler habe ich gesehen, dass der in der IN Bedingung nur 2000 Werte übernimmt und dass die Abfrage 5 Mal gestellt worden ist und deswegen in der Übersicht 5 Mal ausgegeben werden.

Es werden aber auch nicht alle Aufträge angezeigt, wenn man den Filter "Alle anzeigen" nutzt.
Moin. Ich würde vorschlagen, eine Begrenzung zu verwenden: SELECT TOP (200) kArtikel FROM
 

Thomas_S

Sehr aktives Mitglied
2. Oktober 2012
720
122
50226 Frechern
Moin. Ich würde vorschlagen, eine Begrenzung zu verwenden: SELECT TOP (200) kArtikel FROM
Das wird nicht funktionieren. Ich selektiere 500 und bekomme die Werte für die ersten 200?
Zudem bringt das nichts, wenn man einen Üblick über bestimmter Werte haben möchte, eventuell auch kumuliert. Was sind schon 200 oder auch 1000 Artikel. Das sind am Ende z.B. 20 oder 100 Artikel in 10 Farben. Wenn ich anfangen soll, die SQL Abfragen zu beschneiden, weil es irgendwelche Einschränkungen gibt, kann ich gleich mit der Ameise arbeiten und in Excel rumfrickeln. Dafür gibt es die eigenen Übersichten ja schließlich.

Das Problem das ich sehe, sind die SQLs die kumulierte Werte ausgeben und davon gibt es hier im Forum einige. Da fällt der Fehler nicht so schnell auf. Man vertraut der Abfrage, nimmt die Werte als gegeben aber ein Teil der Artikel/Aufträge wurde nicht berücksichtigt, oder wie hier, mehrfach ausgewertet. Das darf nicht passieren, auch nicht bei mehreren Tausend. Treten Fehler auf oder ist die Schnittstelle überlastet, muss es eine Fehlermeldung geben oder im Zweifelsfall gar keine Ausgabe. Verfälschte Werte aber keinesfalls.

Aber zurück zum Fehler. Wenn man eine einfache Abfrage wie SELECT kartikel FROM tArtikel ohne IN(@Keys) benutzt und nur einen oder wenige selektiert, stimmt das Ergebnis. Ab einer bestimmten Anzahl werden die Werte dann mehrfach ausgegeben. Der Fehler hat also nichts mit der Abfrage an sich zu tun. Das Problem entsteht bereits vorher oder an anderer Stelle.
 

John

Sehr aktives Mitglied
3. März 2012
3.901
950
Berlin
Gibts da nicht ein Limit, wie groß/lang eine SQL Anfrage sein darf?
Das Problem hat man z.B. auch, wenn man zu viele Artikel in der Auswahl auf einmal aus einer Kategorie per Rechtsklick zu entfernen versucht. Da gibt es (oder gab es früher) eine SQL Fehlermedung.
Vielleicht wird hier aufgeteilt, weil sonst die IN-Bedingung zu viele Elemente hätte. Doof, wenn das Ergebnis deshalb falsch wird.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
1.016
371
Moin.
Die Query für @key/@keys wird (schon seit immer?) 2-mal verarbeitet, teilweise 2-mal ausgeführt.
Wie oben von Anderen erwähnt, für @keys gibt es nicht nur Einschränkungen seitens JTL - maximal Anzahl an Schlüsseln, maximale "Laufzeit" für Regex-Suche in der Query, usw.
sondern auch von Microsoft: für IN - MS schreibt von Tausenden, wir hatten schon Probleme bei mehr als 2000, überhaupt ist IN-Performance bei vielen Werten sehr schlecht,
Oracle schränkt Werte für IN auf maximal 1000, nicht ohne Grund; für Abfragen/WHERE-Klauseln/ORDER BY/usw.: gelten technisch-/hardware-bedingt Größeneinschränkungen:
s. https://learn.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server.
 
Zuletzt bearbeitet:
Ähnliche Themen
Titel Forum Antworten Datum
Neu JTL_DirectQuery - SQL Abfrage Anzahl der Pakete auf Versandliste (DPD) User helfen Usern - Fragen zu JTL-Wawi 3
Neu Wie lässt sich der Lieferstatus von Aufträgen per SQL abfragen? User helfen Usern - Fragen zu JTL-Wawi 8
Neu JTL Wawi auf Windows Server 2025 mit SQL 2025? Installation von JTL-Wawi 6
Neu JTL Diag / SQL Mitschnitt lässt sich nicht mehr starten User helfen Usern - Fragen zu JTL-Wawi 6
Neu Welche SQL Server Version für WaWi 1.0.0.0.0 unter Windows 11 Installation von JTL-Wawi 6
Neu Bilder von Kinderartikeln auf Vaterartikel kopieren via SQL Eigene Übersichten in der JTL-Wawi 2
Neu Täglich SQL Backup vom Shop Allgemeine Fragen zu JTL-Shop 2
Kann ich mit dieser SQL Version die neue WaWi 1.11.1 installieren? JTL-Wawi 1.11 2
Neu Kundengruppe per SQL löschen User helfen Usern - Fragen zu JTL-Wawi 3
Neu Sql Express 2022 - wawi sagt beim Start es ist ein Update bereit - gelöst Installation von JTL-Wawi 3
Neu Extern erstelltes SQL - Angebot falsche Werte User helfen Usern - Fragen zu JTL-Wawi 3
Neu In welcher SQL Tabelle finde ich den Ansprechpartner des Herstellers? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Seriennummern und SQL Abfragen User helfen Usern - Fragen zu JTL-Wawi 1
Update SQL Server Management Studio JTL-Wawi 1.10 1
Neu Einrichtung SQL in neuem Rechner funktioniert nicht Installation von JTL-Wawi 3
Neu SQL Code für GPSR Felder (Kaufland) zeigt Fehler + wird daher nicht übertragen kaufland.de - Anbindung (SCX) 0
Neu SQL für noch nie Verkaufte Artikel auf Marktplätzen. User helfen Usern - Fragen zu JTL-Wawi 3
Neu Druckerzuordnung wird ignoriert WMS JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 1
Neu PayPal lehnt Zahlung ab, weil PLZ angeblich nicht beliefert wird User helfen Usern 2
Neu Konfigurator-Produkt wird mit 0 € in den Warenkorb gelegt JTL-Shop - Fehler und Bugs 2
Neu Abgelaufene MHD (Mindesthaltbarkeitsdatum) wird im Shop nicht angezeigt. JTL-Shop - Fehler und Bugs 2
Neu Bestellung aus JTL-Shop wird nicht in die Wawi übernommen Allgemeine Fragen zu JTL-Shop 1
Neu Druckvorschau wird doppelt aufgerufen JTL-Wawi - Fehler und Bugs 4
Bestand anderer Kinderartikel wird in Artikelstammdaten mit angezeigt – wie kann man das deaktivieren? JTL-Wawi 1.11 2
Bei Beschaffung wird keine Positionsnummer bei den Artikeln angezeigt JTL-Wawi 1.10 1
Neu Barcodescanner - Artikel mit # wird nicht übergeben Allgemeine Fragen zu JTL-POS 2
Neu Staffelpreise wird mit Sternchen angezeigt - wie ändere ich das Allgemeine Fragen zu JTL-Shop 0
seit 1.11 wird Druck ausgeführt nach JTL-POS Vorgang JTL-Wawi 1.11 0
Beschaffung Spaltensortierung / Spaltenanordnung / Spaltenfilter wird nicht mehr gespeichert JTL-Wawi 1.11 0
Neu GELÖST! Amazon "Aufzuschaltende Angebote" seit Tagen in "wird gesendet" bei WAWI 1.11.3 Amazon-Anbindung - Fehler und Bugs 10
Neu B2B Preis wird nicht an Amazon übergeben. Auch nicht WAWI intern User helfen Usern - Fragen zu JTL-Wawi 1
Gelöst: Lagerstand wird falsch berechnet JTL-Wawi 1.9 4
Neu FBA-Lagerbestand wird nicht mehr eingelesen - Fehler beim Verarbeiten von Amazon Events - FbaInventoryImported: Das angegebene Argument liegt außerha Amazon-Anbindung - Fehler und Bugs 13
Neu eBay-Angebote: Herstellernummer wird automatisch auf 'Nicht zutreffend' gesetzt - wie verhindern? eBay-Anbindung - Fehler und Bugs 0
Neu Retoure Vorlage "Mail" abgeändert, jedoch wird Standard Formular versendet Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu AlertService: Wunschzettel -> Hinzufügen/Entfernen wird nicht mehr als Benachrichtigung ausgegeben JTL-Shop - Fehler und Bugs 0
eBay-Merkmal wird nach Ameise-Import nicht übernommen (Wawi 1.10.11.0) JTL-Wawi 1.10 2
Neu HOOK_SMARTY_OUTPUTFILTER wird nicht auf Kategorieseiten ausgeführt? Technische Fragen zu Plugins und Templates 5
Update-Katastrophe schon wieder – warum wird so etwas als „Release“ veröffentlicht? JTL-Wawi 1.11 35
Neu Kundenkonto verknüpfen > "Die Anforderung wird nicht unterstützt" Installation von JTL-Wawi 1
Auftrag zur InetBestellungId 7610 wurde bereits erstellt. InetBestellung wird gelöscht. JTL-Wawi 1.10 0
Neu Nach Update auf 1.10.14.1 - Zahlungsart wird beim Auftrag erstellen nicht mit übernommen + Sepa Eingänge JTL-Wawi - Fehler und Bugs 0
Neu TopBarNote wird nicht angezeigt Allgemeine Fragen zu JTL-Shop 1
Lieferzeit / Lieferdatum wird im Shop bei Variantenartikeln nicht angezeigt Allgemeine Fragen zu JTL-Shop 0
Neu E-Mail Versandbestätigung wird an Amazon gesendet obwohl in den Einstellungen deaktiviert JTL-ShippingLabels - Fehler und Bugs 2
Neu Picklisten-Barcode wird nicht korrekt erkann JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 1
Neu Lastschrift wird nicht immer angezeigt JTL-Shop - Fehler und Bugs 0
Neu GPSR Information wird nicht mehr angezeigt oder falsch angezeigt Amazon-Anbindung - Fehler und Bugs 2
Neu Mapping (Menge) bei einigen Artikeln wird nicht durchgeführt Shopify-Connector 12
Neu Gesamtguthaben wird nach speichern höher angezeigt User helfen Usern - Fragen zu JTL-Wawi 3

Ähnliche Themen