OutOfMemoryException obwohl nur 1 Eintrag abgefragt wird

M

meineD4t3nbank

Gast
Hallo Leute,
ich habe 1 Tabellen:

Die Tabelle (servicechecks) hat die Spalten
servicecheck_id (INT, PK, NN)
start_time
... usw

Es ist definitiv nur 1 Eintrag mit der servicecheck_id = 5 vorhanden.

Wenn ich nun die Abfrage

SQL:
SELECT     *
FROM         servicechecks
WHERE     (servicecheck_id = 5)

ausführe, bekomme ich eine OutOfMemoryException.

Die Tabelle ist zwar ein paar GB groß,
aber dennoch müsste diese simple Abfrage ohne Probleme funktionieren, oder?
Ich sehe den Fehler nicht.
Ich hoffe ihr könnt mir weiter helfen.

THX!
 
Zuletzt bearbeitet von einem Moderator:

schlingel

Gesperrter Benutzer
Wenn die Tabelle ein paar GB groß ist und eine OutOfMemoryException fliegt gibt's zwei Möglichkeiten warum das passiert (die mir einfallen):
1. Du hast so viele Ergebnisse dass das deinen RAM sprengt.
2. Deine DB operiert im RAM. Auch der Tod für die Abfrage.

Puncto Query-Optimierung ist bei einem so simplen Query nicht mehr viel zu tun außer vielleicht das Select auf die Attribute zu beschränken die du brauchst.
 
M

meineD4t3nbank

Gast
Hm es scheint wohl ein Problem von Visual Studio zu sein (sehr warscheinlich das falsche Forum hier), denn im SQL Server Management Studio dauert es keine Sekunde bis ich das Ergebnis geliefert bekomme -.-

Oder hat doch jemand eine spontane Idee was es sein könnte?
Würde über den Reporting Serice gerne eine Übersicht aller Servicechecks erstellen lassen.
 

schlingel

Gesperrter Benutzer
Aso, du bist im VS unterwegs.

Der Explorer darin ist sowieso crappy aber mit dem aus 2008 hatte ich auch bei sehr großen DBs keine Probleme.
 
M

meineD4t3nbank

Gast
Wenn die Tabelle ein paar GB groß ist und eine OutOfMemoryException fliegt gibt's zwei Möglichkeiten warum das passiert (die mir einfallen):
1. Du hast so viele Ergebnisse dass das deinen RAM sprengt.
2. Deine DB operiert im RAM. Auch der Tod für die Abfrage.

Puncto Query-Optimierung ist bei einem so simplen Query nicht mehr viel zu tun außer vielleicht das Select auf die Attribute zu beschränken die du brauchst.

1. kann es nicht sein, da das WHERE ja den Primary Key abfragt.

zu 2.: habe einige Einträge jetzt mal in eine separierte Tabelle gepackt (650mb).
während die Abfrage läuft werden auch ca. 700mb RAM verwendet (es ist aber noch über 1GB verfügbar) und das Ergebnis der Abfrage ist wieder eine System.OutOfMemoryException -.-
 
M

meineD4t3nbank

Gast
Kann ich dir leider nicht sagen.
Wie bekomme ich das heraus?
Habe grad mal gegoogelt aber nichts gefunden was mir geholfen hat.
 

schlingel

Gesperrter Benutzer
Hm, hab gerade noch mal nachgeschaut. Das wird's wahrscheinlich eh nicht sein. Vermutlich ist es einfach der Debugger der in der IDE mit drinnen hängt der das ganze zum abstürzen bringt. Eine kurze Google-Suche hat mich da jetzt nicht weitergebracht ob es möglich ist da etwas zu machen.

Am besten du fragst noch mal auf Stackoverflow, dort sitzen viele, viele .Net-Leute.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 database is closed, obwohl ich alle statements in try catch blöcken habe? Datenbankprogrammierung 5
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
M MySQL MySQLSyntaxError in Java, obwohl Abfrage in HeidiSQL korrekt Datenbankprogrammierung 2
D MySQL Daten werden aus Datenbank gelesen, obwohl sie dort gar nicht angekommen sind Datenbankprogrammierung 8
E MySQL Kann ID nicht zuweisen, obwohl diese Auto-Increment ist Datenbankprogrammierung 2
D MySQConnextor Class not found obwohl BuildPfad konfiguriert Datenbankprogrammierung 6
W Nur ein Datensatz wird angezeigt, obwohl mehrere existieren Datenbankprogrammierung 7
W Fehler bei Insert Anweisung obwohl getestet Datenbankprogrammierung 3
S Den letzten Eintrag aus Datenbank ziehen (Oracle SQL Dev.) Datenbankprogrammierung 14
D SQLite INSERT OR REPLACE INTO macht neuen Eintrag?! Datenbankprogrammierung 2
M Derby/JavaDB Neu geschriebener Eintrag per UPDATE lässt sich nicht unmittelbar abrufen Datenbankprogrammierung 2
G 2 Tabellen und ein spezieller Eintrag Datenbankprogrammierung 2
J Java DB Neuen Eintrag am Anfang der Table Datenbankprogrammierung 6
E ClassNotFoundException bei verschiedenen MS SQL Treibern trotz Classpath-Eintrag Datenbankprogrammierung 5
C Programm wird nach DB-Eintrag nicht weitergeführt Datenbankprogrammierung 5
A Ausgewählten Jtable Eintrag aus Db löschen Datenbankprogrammierung 9
C H2 Letzten Eintrag auslesen Datenbankprogrammierung 6
N batchupdate, es wird nur der letzte Eintrag eingetragen Datenbankprogrammierung 5
G Existiert schon ein DB- Eintrag Datenbankprogrammierung 1
S MySQL Kein DB-Eintrag Datenbankprogrammierung 4
prakdi einzelnen SQL Eintrag finden der "update" enthält Datenbankprogrammierung 3
K Wird auf den Eintrag referenziert? Datenbankprogrammierung 4
E Aus einer Tabelle Zeilen mit doppeltem Eintrag holen? Datenbankprogrammierung 4
B Datenbank Abfrage: Es fehlt immer ein Eintrag! Datenbankprogrammierung 7
B Eintrag in der MySQL Datenbank eintragen? Datenbankprogrammierung 2
G Policy Eintrag für SQL Zugriff im Netzwerk Datenbankprogrammierung 10
T [jdbc] einen Eintrag aus mehreren Tabellen löschen (Batch) Datenbankprogrammierung 3
J Eintrag aus der Spalte auswählen Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben