Am Dienstag, 16. März 2004 17:38 schrieb Andre Heine:
Moin moin alle zusammen,
ich programmiere gerade einen Webshop in Java mit GUI für den Desktop (Artikelpflege, Administration, multiuserfähig, Einbindung in Confixx, XML Schnittstelle, Open-Source natürlich).
Meine Frage ist nun, ob es besser ist Rechenoperationen der Mysql DB zu überlassen oder besser dem Java Programm.
Ich würde mal sagen, das hängt davon ab. Wenn Du es der Datenbank überlässt, kannst Du eventuell massiv den Datentransfer reduzieren, das spart eine Menge Zeit, wenn die Daten übers Netz laufen, also Programm und DB-Server nicht auf der selben Kiste laufen. Auch müssen die ganzen Felder von Datenbankfeldern nach Java-Variablen konvertiert werden, auch das kostet Zeit. Im Gegenzug muss freilich ein größeres SQL-Statement geparsed werden. Das lässt sich allerdings per Prepared Statements wieder recht gut ausgleichen. Ich bevorzuge Berechnungen in der DB wenn: - sich massiv Datenvolumen einsparen lassen - fertige Funktionen zur Verfügung stehen (Extremes Beispiel, ein 'SELECT COUNT(*) FROM XYZ' würde ich nicht in Java nachbilden) Wenn das Datenvolumen ähnlich bleibt, mit ein und der selben Variable eventuell mehr berechnet wird und das SQL-Statement deutlich vereinfacht wird, würde ich ne Java-Implementierung vorziehen. Ein Vorteil der dadurch recht einfachen SQL-Statements dürfte auf jeden Fall beim Datenbankwechsel ein reduzierter Portierungsaufwand sein. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de