AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken max. Länge einer SQL Anweisung?
Thema durchsuchen
Ansicht
Themen-Optionen

max. Länge einer SQL Anweisung?

Ein Thema von bernhard_LA · begonnen am 23. Sep 2014 · letzter Beitrag vom 23. Sep 2014
Antwort Antwort
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

AW: max. Länge einer SQL Anweisung?

  Alt 23. Sep 2014, 14:16
select * from ..... where aField in ('wert1', .......'wert20.000');
Zumindestens Oracle mach bei 2000 Einträgen dicht.
Ebenso stolper ADO über soche Ungetüme:
Code:
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
....
Da ist glaube ich bei 125 Zeichen Schluß.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: max. Länge einer SQL Anweisung?

  Alt 23. Sep 2014, 15:11
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.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#3

AW: max. Länge einer SQL Anweisung?

  Alt 23. Sep 2014, 15:14
Ja, natürlich ist das so. Normale Skripte sind ja auch nicht so groß.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#4

AW: max. Länge einer SQL Anweisung?

  Alt 23. Sep 2014, 16:29
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.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#5

AW: max. Länge einer SQL Anweisung?

  Alt 23. Sep 2014, 16:49
Bei einer ähnlichen Problematik hat die Query so lange gebraucht, dass der Timeout zugeschlagen hat (auch MSSql).

Nachdem das über eine temporäre Tabelle läuft, ist es etliches schneller. Es handelt sich dabei um getestete 60.000 Ids.

Subquery ging nicht, da es sich um die manuell getätigte Auswahl des Benutzers handelt.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#6

AW: max. Länge einer SQL Anweisung?

  Alt 23. Sep 2014, 16:55
...Es handelt sich dabei um getestete 60.000 Ids.
...da es sich um die manuell getätigte Auswahl des Benutzers handelt.
So so. Da hat er aber ganz schön geklickt.

Ich weiß schon: Anzeige von 60.000 Möglichkeiten und ein Button 'Alles auswählen', oder?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: max. Länge einer SQL Anweisung?

  Alt 23. Sep 2014, 16:59
...Es handelt sich dabei um getestete 60.000 Ids.
...da es sich um die manuell getätigte Auswahl des Benutzers handelt.
So so. Da hat er aber ganz schön geklickt.

Ich weiß schon: Anzeige von 60.000 Möglichkeiten und ein Button 'Alles auswählen', oder?
für 60.000 mag Dein Sarkasmus angebracht sein, aber Listen mit 200-300 Einträgen sind durchaus möglich (wohlgemerkt nicht durch subquery oder ><=... zu erschlagen)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:54 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-2025 by Thomas Breitkreuz