![]() |
Datenbank: MSSQL • Version: 12 • Zugriff über: ADO
max. Länge einer SQL Anweisung?
unser SQL String kann schon mal etwas länger werden, so 20.000 ---- 30.000 Zeichen
select * from ..... where aField in ('wert1', .......'wert20.000'); Bei Kürzeren SQL Strings sehen wir kein Problem , bei längeren kommt nix von der DB Zurück Ist die Länge eines SQL Strings begrenzt? |
AW: max. Länge einer SQL Anweisung?
Diese Seite kennst du schon ?
![]() |
AW: max. Länge einer SQL Anweisung?
die größte SQL Anweisung die ich getestet habe ist ca 14 KB groß.
Andere Möglichkeit lagere das in eine View aus :wink: |
AW: max. Länge einer SQL Anweisung?
Und ihr seid mit eurem SQL-Renderer, also dem Teil, der dieses Monstrum baut, zufrieden? Was sind das für Werte? Kann man die Liste nicht durch ein 'select' darstellen? Oder über Gruppen kategorisieren?
|
AW: max. Länge einer SQL Anweisung?
Zitat:
Ein guter Profiler darf später gerne Optimierungsratschläge geben aber jedwedes QueryBuilder und AutogeneratorGedöns lass ich da nicht dran. Erst recht nicht wenn es komplexer wird. So etwas wie
Code:
löst man wenn möglich nur auf einer Seite. Entweder in der DB (per sub select) oder in der Applikation (per LocateEx, Filter & Co.).
...where aField in ('wert1', .......'wert20.000');
Aus der DB abfragen, dann die Rückgabe in der Applikation "zusammenklicken", um die "zusammengeklickten Werte" wieder als Parameter an die nächste DB Anfrage zu schicken ist oft langsam und ineffektiv. |
AW: max. Länge einer SQL Anweisung?
Na ja. Eine IN-Liste bestehend aus 20.000 Werten hat jetzt nicht direkt etwas mit stark normalisierten Datenbanken zu tun. 50 JOINS schon, aber darum gehts ja hier nicht.
|
AW: max. Länge einer SQL Anweisung?
Zitat:
Ebenso stolper ADO über soche Ungetüme:
Code:
Da ist glaube ich bei 125 Zeichen Schluß.
Select wert1
,'Konstanter Text'||wert2||' und noch mehr Text '||wert3||' und jetzt noch mehr Text bis das es mal so richtig knirscht bei'||wert4||' ; ' ,wert9 .... Gruß K-H |
AW: max. Länge einer SQL Anweisung?
Bei MySQL ist die Anzahl der Elemente in einer "in"-Liste ebenfalls beschränkt. Bin zu faul den genauen Wert zu suchen, der ist hier aber ja nicht wichtig. Was ich damit andeuten will ist, dass es scheinbar bei vielen DBMS dort eine Grenze gibt, und möglicherweise diese ist, die das Problem macht.
|
AW: max. Länge einer SQL Anweisung?
Ja, natürlich ist das so. Normale Skripte sind ja auch nicht so groß.
|
AW: max. Länge einer SQL Anweisung?
Was ich sagen wollte ist: Unabhängig von der maximalen Länge eines Statements in Zeichen, kann die Anzahl der möglichen Elemente in "Stückzahl" in einer "in"-Klausel zusätzlich begrenzt sein. Einfach nur, damit der TE ggf. auch danach als Ursache für sein Problem suchen kann - mangels Erfahung mit seinem DBMS kann ich keine konkreteren Zahlen nennen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz