Geschwindigkeit von Queries
Gandalf
- asp.net
0 Jan Schöfer0 Gandalf
Ich habe ein ASP Script geschrieben um meinem Database zu testen. 1000 mal eines einfaches query ausfuehren dauert etwa 16 Sekunden, ist das normal? Im Database (SQL Server) steht nur 1 Item. Unten steht das Script.
$c1=new ActiveXObject('ADODB.Connection');
$c1.ConnectionString = "Provider=SQLOLEDB; Data Source=data;Initial Catalog=Database;User ID=uid; Password=password";
$c1.Open();
$date=new Date();
$time=$date.getTime();
for($i=0;$i<1000;$i++)
$c1.execute("SELECT * FROM testing");
$date=new Date();
Response.Write($date.getTime()-$time);
Hi,
ich denk, das ist schon normal aber kein normaler Mensch führt 1000 RecordSets auf einer Seite aus, wenn du das trotzdem willst, dann nehm MYSQL, das ist dann etwas schneller als MSSQL.
Grüße,
Jan
Ich weis das MySQL schneller ist, ich wollte es auch brauchen, aber das ist in einer fall nicht moeglich. Ich habe aber einige hunderden items, wovon ich aus einen anderen database etwas lesen mochte. Darum musse ich auch so often schreiben ein query ausfuehren.
Hi <- sehr brav
du arbeitest bei Datenbanken und Abfragen prinzipiell IMMER mit Mengen. Wenn du - und ich denke, du meinst das - aus mehreren Tabellen Daten brauchst, die miteinander verknüft sind, dann versuche es mit Kreuzabfragen. Was du auch tust, ich halte es für äußerst unwarscheinlich, daß es sich nicht mit einigen wenigen - aber eben raffinierteren - Abfragen lösen lässt.
Dazu findest du in Deinem SQL-Server (natürlich virtuell :-) ) eine Dokumentation, in der Kreuzabfragen ziemlich genau beschrieben sind. Versuche, zu verstehen, daß du nicht mit einzelnen Datensätzen, sondern mit Mengen arbeitest.
Ich hoffe, ich konnte Dir helfen. Wenn nein, dann werden das sicher noch andere auch versuchen.
Viel Glück,
Jan