Thema: Delphi ADO Langsamer als BDE?

Einzelnen Beitrag anzeigen

Jenns

Registriert seit: 18. Jul 2005
18 Beiträge
 
#1

ADO Langsamer als BDE?

  Alt 18. Jun 2009, 09:06
Datenbank: SQL Server 2005 / Paradox • Zugriff über: BDE / ADO
Hallo,

ich möchte mein Programm in Delphi 7 von Paradoxtabellen auf einen SQL Server umstellen.

Jetzt habe ich im ersten Schritt einfach die Table auf den neuen Server gelenkt, indem ich unter ODBC eine Verbindung mit dem SQL Native Client eingerichtet habe.
Das geht ungefähr gleich schnell.

Im zweiten Schritt will ich jetzt die Table durch ADOTable ersetzen.
Hierbei stelle ich fest, das öffnen der Tabelle über ADOTable 100x so lange dauert wie über den BDE-Table.

Sprich das active setzen einer Tabelle mit 80.000 Datensätzen dauert
mit BDE auf Paradox ca. 20 ms,
mit BDE auf SQL ca. 20 ms,
mit ADO über ODBC auf SQL ca. 2000 ms und
mit ADO über SQL Native Client auch ca. 2000 ms.

Gemessen habe ich das mit QueryPerformanceCounter(); und die Werte geben auch ungefähr mein persönliches Empfinden wieder.

Der connectionstring bei Ado ist:
adotable1.ConnectionString := 'Provider=MSDASQL.1;Password=xxx;Persist Security Info=True;User ID=xxx;Data Source=SQLServer;Initial Catalog=Datenbank';
bzw.
adotable1.ConnectionString := 'Provider=SQLNCLI.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Dtenbank;Data Source=mein-pc\sqlexpress';

Die Cursorlocation steht auf clUseServer, mit clUseClient sind die Werte noch schlechter.

Was mache ich falsch? Müssen noch andere Einstellungen gemacht werden?

Gruß, Jenns
  Mit Zitat antworten Zitat