PostgreSQL langsam (Blob)

Status
Nicht offen für weitere Antworten.
V

verus

Gast
Moin,

ich speichere viele Blob's (OID) in der Datenbank. Leider ist die Geschwindgkeit mit der die Daten gelesen werden stark eingebrochen. Die Tabelle, in der die meisten Blob's gespeichert sind, besteht aus etwas mehr als 350.000 Einträgen. Bei der Anzahl von Blob's hatte ich noch nicht mit so einem Geschwindigekeitseinbruch gerechnet. Was mache ich falsch? Liegt es überhaupt an den Blob's oder sollte ich eine andere Stelle verdächtigen?

Interessant finde ich, dass die CPU Last auf 100% steigt. Ich hatte ehr damit gerechnet, dass die Festplatte am rödeln ist.

Auf die Daten wird via Hibernate zugegriffen. Eine Abfrage auf Java Seite macht Hibernate zu drei Queries. Zwei Queries greifen nur auf sehr kleine Tabellen zu, so dass ich diese als Performancebremse ausgeschlossen habe. Die dritte ist die mit den vielen Blob's.
 

AlArenal

Top Contributor
Zunächst einmal solltest du schauen womit der Rechner seine Zeit vertrödelt. Ist es das Programm? Ist es die SQL-Abfrage? Ist es das Lesen der Daten?

RDBMS haben gemeinhin 1001 performance-relevante Konfigurationsparamter, die entsprechend eingestellt werden möchten. Es hat durchaus seinen Grund, warum "Datenbankadministrator" ein eigener Berufsstand ist. Irgendwer muss nämlich Hardware, OS und RDBMS auf die Anwendung(en) abstimmen, Bottlenecks suchen und User in den Allerwertesten treten.

Am Anfang steht aber bei jedem Problem die Analyse.
 

Siassei

Bekanntes Mitglied
Hallo,

ich persönlich würde PostgreSQL nicht als RDBMS bezeichnen :wink: PostgreSQL ist objektorientiert und daher immer etwas langsamer als andere Datenbanken. Aber das mit der CPU-Auslastung kommt mir jetzt auch etwas Spanish vor. Hast du schon eine kleine Analyse durchgeführt?
 

AlArenal

Top Contributor
Siassei hat gesagt.:
Hallo,

ich persönlich würde PostgreSQL nicht als RDBMS bezeichnen :wink:

Die PostgreSQL Macher tun dies aber sehrwohl: "PostgreSQL is a powerful, open source relational database system."
http://www.postgresql.org/about/
Es ist davon auszugehen, dass die am besten beurteilen können, was PostgreSQL ist und was nicht.

PostgreSQL ist objektorientiert und daher immer etwas langsamer als andere Datenbanken.

Postgres ist grundsätzlich eine relationale Datenbank, keine objektorientierte. Es gibt lediglich OO Ansätze, wie das Ableiten von Tabellen.

http://de.wikipedia.org/wiki/Objektorientierte_Datenbank
http://de.wikipedia.org/wiki/RDBMS

Vielleicht mal etwas vorsichtiger mit Fachbegriffen umgehen, in deren Verwendung man nicht ganz sattelfest ist ;)
 
V

verus

Gast
Danke für eure Hilfe. Das Problem lag an schlecht angelegten Indexen. Nun habe ich den Index richtig angelegt und schon funktioniert wieder alles wieder wunderbar schnell.
 

Siassei

Bekanntes Mitglied
AlArenal hat gesagt.:
Siassei hat gesagt.:
Hallo,

ich persönlich würde PostgreSQL nicht als RDBMS bezeichnen :wink:

Die PostgreSQL Macher tun dies aber sehrwohl: "PostgreSQL is a powerful, open source relational database system."
http://www.postgresql.org/about/
Es ist davon auszugehen, dass die am besten beurteilen können, was PostgreSQL ist und was nicht.
Hallo AlArena,

es war nicht bös gemeint :wink: Ich persönlich setze im privaten Bereich neben H2, PostgreSQL ein und finde es ist eine gute DB. Im Vergleich zu MySQL (da gibt es genügend schlechte Beispiele :wink: ) ist PostgreSQL bei größeren Datenmengen einfach deutlich langsamer. PostgreSQL ist aber wohl das einzige DB-System, dass den SQL-Standart so gut wie ganz unterstützt. Ausgenommen ein paar ganz kleine Ausnahmen :wink:
 

AlArenal

Top Contributor
Ja, leider setzt sich nicht immer das bessere Design durch. Ist immer gruselig, wenn Leute nicht verstehen wollen, dass AUTO_INCREMENT kein Standard ist...

Ketzterisch könnte man sagen, MySQL ist das Windows der Datenbanken...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z jdbc-Verbundung unter Windows zur Postgresql DB sehr langsam Datenbankprogrammierung 3
Zrebna PostgreSQL-Query in eine MicrosoftSQL-Query konvertieren - chatGPT hilft nur bedingt. Datenbankprogrammierung 3
L JPA EclipseLink PostgreSQL auslesen mit Query Datenbankprogrammierung 2
L PostgreSQL Abfrage mit EclipseLink Datenbankprogrammierung 7
ma095 value NULL- Datenbank Postgresql Spring - intellij community Datenbankprogrammierung 0
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
Husamoli345 JSF Postgresql DatabaseConnection Datenbankprogrammierung 1
D hibernate mit postgreSQL Datenbankprogrammierung 3
G PostgreSQL Nach Monaten auf einmal ClassNotFound-Exception Datenbankprogrammierung 3
Ghostman1711 PostgreSQL Lock Row Exclusive Mode Transaktionsblock Datenbankprogrammierung 0
A Mit JDBC auf postgreSQL Datenbank zugreifen Datenbankprogrammierung 5
C PostgreSQL JDBC + PostgreSQL: getLong liefert 0 statt NULL Datenbankprogrammierung 2
Z PostgreSQL JDBC mit Postgresql Datenbankprogrammierung 2
E Java und Postgresql Datenbankprogrammierung 8
F PostgreSQL Hibernate & PostgreSQL Datenbankprogrammierung 3
S JBoss und PostgreSQL DB Datenbankprogrammierung 3
J Mit Java Programm - PostgreSQL backup und restore Datenbankprogrammierung 5
B JDBC Verbindung mit Postgresql Datenbankprogrammierung 13
D PostgreSQL vs Firebird vs Derby Datenbankprogrammierung 12
S PostgreSQL Datenbankstruktur exportieren und importieren Datenbankprogrammierung 2
D PostgreSQL Von JTable -> Datenbank Datenbankprogrammierung 6
N csv datei in PostgreSQL datenbank einlesen Datenbankprogrammierung 1
B fehlerhafte PostgreSQL-Verbindung Datenbankprogrammierung 4
S PostgreSQL SELECT/UPDATE etc. Datenbankprogrammierung 4
S PostgreSQL Verbindung kommt nicht zu stande Datenbankprogrammierung 3
G PostGreSQL - Die Abfrage lieferte kein Ergebnis Datenbankprogrammierung 3
S Postgresql DB - Performancetest - Programm, Logfile etc. Datenbankprogrammierung 2
G Postgresql Datenbankprogrammierung 5
T PostgreSQL db Datenbankprogrammierung 5
T Treiber laden PostgreSQL Datenbankprogrammierung 3
B hibernate - postgresql - Sequenz setzen Datenbankprogrammierung 3
M Zugriff auf PostgreSQL mit JAva! Datenbankprogrammierung 7
H logging von postgresql statements Datenbankprogrammierung 5
F MySQL / PostgreSQL: Verschlüsselung Datenbankprogrammierung 3
T Oracle Resultset to Array sehr langsam. Datenbankprogrammierung 8
K MySQL PreparedStatedment ist zu langsam? Datenbankprogrammierung 9
S CSV Datein in DB übernehmen:PreparedStatement bzw executeBatch() zu langsam Datenbankprogrammierung 11
P MySQL Datenbank an manchen PCs langsam Datenbankprogrammierung 11
S MySQL Auslesung Datenbank sehr langsam Datenbankprogrammierung 16
P MySQL Verbindung nach außen sehr langsam Datenbankprogrammierung 4
M Datenbankverbindung zu langsam beim Insert? Datenbankprogrammierung 6
B H2 H2 executeQuery ist sehr langsam Datenbankprogrammierung 8
R ODBC-Treiber sehr langsam Datenbankprogrammierung 5
T MySQL PreparedStatement mit INSERTs langsam, Batch-Statement auch Datenbankprogrammierung 4
F JDBC:Mysql extrem Langsam Datenbankprogrammierung 3
E MSSQL-Server connection aufbau sehr langsam Datenbankprogrammierung 2
B Mysql über jdbc sehr langsam Datenbankprogrammierung 4
L insert in Access-DB sehr langsam!? Datenbankprogrammierung 6
G Select-Abfragen sind sehr langsam Datenbankprogrammierung 7
krgewb Breite und Höhe von Blob Datenbankprogrammierung 7
H Oracle Resize eines Images in Java und Rückgabe des Image als BLOB an die Oracle Datebank Datenbankprogrammierung 14
H Java Class zum komprimieren von Jpeg-Images zum Einbinden in Oracle DB - Bild als blob (in und out) Datenbankprogrammierung 23
D MySQL Sicherheitslücke als Blob? Datenbankprogrammierung 3
buggy84 MySQL BLOB Geschwindigkeit Datenbankprogrammierung 16
L H2 Blob Dateien in der DB komprimieren? Datenbankprogrammierung 8
L H2 Blob Spalte im Client anzeigen Datenbankprogrammierung 2
E Wie kann man das Problem mit der BLOB-Spalte lösen? Datenbankprogrammierung 1
E Wie kann ich textdateien, die als BLOB abgespeichert sind, aus der Datenbanktabelle auslesen? Datenbankprogrammierung 23
E Wie kann man BLOB-Spalten in DB2 einfügen? Datenbankprogrammierung 9
R MySQL Blob aus DB auslesen und einer Tabelle ausgeben Datenbankprogrammierung 7
J BLOB to ImageIcon? Datenbankprogrammierung 3
Kenan89 Sinnvoller URL oder BLOB? Datenbankprogrammierung 2
F H2:Wie kann man insert eine Reihe "int" wert als blob in table? Datenbankprogrammierung 12
N Leeres Blob in ein PreparedStatement eintragen Datenbankprogrammierung 2
C MySQL Fragen zu BLOB zu byte[], Date zu java.util.Date uvm. Datenbankprogrammierung 6
D Blob MimeTyp auslesen Datenbankprogrammierung 2
P MySQL Objekt aus BLOB auslesen Datenbankprogrammierung 3
M Problem Array in BLOB-Feld in DerbyDB zu speichern Datenbankprogrammierung 5
C MP3 in DB als Blob, wieder auslesen und als MP3 speichern??? Datenbankprogrammierung 8
S BLOB in Datei speichern Datenbankprogrammierung 8
S Hibernate Blob mit Stream speichern Datenbankprogrammierung 3
G Blob aus Oracle-Datenbank Datenbankprogrammierung 2
O Vector als Blob in Oracle Datenbank speichern Datenbankprogrammierung 3
D Insert Oracle BLOB Datenbankprogrammierung 1
B Java Derby Datenbank mit CLOB & BLOB Datenbankprogrammierung 5
J Bild aus Mysql Blob in Webseite einbinden Datenbankprogrammierung 9
H Blob erzeugen Datenbankprogrammierung 2
T Inhalt von Blob in Console ausgeben Datenbankprogrammierung 2
G Sybase IMAGE-Daten zu MySQL als BLOB schreiben. Datenbankprogrammierung 2
T Datei (Blob) mit verknüpfter Software öffnen? Datenbankprogrammierung 4
G File nach Blob konvertieren ? Datenbankprogrammierung 6
G JPEG to BLOB Datenbankprogrammierung 7
H File into blob Datenbankprogrammierung 3
A Blob in Oracle-DB einfügen (veraltete Methode) Datenbankprogrammierung 3
EagleEye Blob -> backup Datenbankprogrammierung 6
Y Problem mit Ablage einer Datei in einer Datenbank als BLOB Datenbankprogrammierung 6
O Oracle Blob in MySQL Blob umwandeln Datenbankprogrammierung 2

Ähnliche Java Themen


Oben