Entwickler-Ecke
Datenbanken - [SQL 2005 Express] Nochmal ADO & Co ...
Herby99 - Di 09.10.07 13:04
Titel: [SQL 2005 Express] Nochmal ADO & Co ...
Hallo zusammen,
Ein Teil einer Anwendung soll neu programmiert werden und MS SQL 2005 Express als DB-Backend dienen. Die Komponente war bislang mit dem Verbund VB+ODBC+SQL programmiert. Der neue Teil soll nun von Anfang an so performant wie möglich arbeiten, d.h. Zugriffe auf den SQL-Server sollten möglichst direkt erfolgen (ODBC möglichst schonmal raus).
Nun gibt es, wie ich auf die Schnelle herausgefunden habe, neben diversen kommerziellen Lösungen, verschiedene Komponenten, um das mit Delphi zu realisieren: das MDAC 2.8 SP1 (mit den dbGo Komponenten aus Delphi dann zusammen), AnyDAC oder auch ZeosLib. Bei den beiden letztgenannten bin ich mir aber nicht sicher, ob da nicht doch ODBC zwischendrin benutzen?
Habe diese 3 Möglichkeiten mal kurz getestet, am einfachsten erscheint es mir doch mit den ADO-Komponenten von Delphi selbst.
Meine Frage wäre, inwiefern es noch zeitgemäß ist, dieses Problem mit ADO zu bewältigen? Sind andere Anbindungen/Komponenten performanter? Welche besonderen Vorteile würde ADO.NET bieten? Wie sieht es mit Vista-Verträglichkeit aus? Angeblich sollen die Komponenten MDAC 2.8 SP1 bei WinXP und Windows DAC 6.0 bei Vista ja gleich sein - bedeutet dies gleichzeitig, dass eine unter WinXP entwickelte Anwendung bzgl. dieser Komponenten auch funktioniert?
Gruß,
Jan
ene - Mi 10.10.07 07:36
Moin Namensvetter,
das schnellste, was ich mit einem SQL 2000 Server kennen gelernt habe ist OLE-DDE, gibts aber nicht für Delphi. Aus meinen Erfahrungen kommt es weniger auf die Schnittstelle an, als auf die Struktur des Programmablaufs. Dabei kann man sehr viel schneller Performance einbüßen. ADO ist aus meiner Sicht beim SQL-Server immer eine Überlegung wert, da beides ja auch von MS kommt und zumindest zum Teil aufeinander abgestimmt ist. Wie weit das unter Vista läuft, kann ich dir aber nicht sagen und wie die anderen Schnittstellen sich verhalten auch nicht :(
alzaimar - Mi 10.10.07 08:13
Wie
ene schon gesagt hat, solltest Du dir zunächst Gedanken über das DB-Design sowie Indexe und Abfragen machen. Ein falsches Design bzw. fehlende (oder zuviele!) Indexe sind die primären Performancebremsen.
Wenn es um en paar Millisekunden geht, dann mag die DB-Bridge (ADO, ODBC o.ä.) eine Rolle spielen, aber sonst nicht.
Herby99 - Mi 10.10.07 09:06
Danke erstmal für eure Antworten!
Natürlich wird auch viel Grips in das Datenbankmodell selbst gesteckt (das ist auch schon recht weit gediegen) - meine Frage zielte auch eher darauf hinaus, welche Stolperfallen es geben könnte (vor allem die Vista-Problematik), wenn man sich auf auf eine Anbindungskomponente festlegt.
Welche Vorteile bieten eigentlich AnyDAC oder ZeosLib bei MSSQL, wenn man mit ADO schon quasi alles hat?
Gruß,
Jan
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!