Einzelnen Beitrag anzeigen

Nuclear-Ping
(Gast)

n/a Beiträge
 
#5

Re: Umstieg von ALS auf Firebird -> Sehr langsam

  Alt 15. Apr 2008, 09:39
Zitat von mkinzler:
-Wie lange braucht di Abfrage ausserhalb von Delphi?
-Ersetze mal * durch die Aufzählung der benötigten Felder
1) Einen genauen Wert kann ich da auf die schnelle nicht ermitteln, da es eine Menge einzelner Querys sind und er mir in einem SQL-Tool gleich die Ergebnisse dieser auflistet. Stichprobenweise sind aber da zB Ergebnisse wie: Query OK, 480 rows in set (2,75 sec), Query OK, 314 rows in set (1,58 sec) ... Also er braucht für 794 Einträge 4,33sec ... Wenn da nicht die Zeit für die Darstellung mit drin ist, ist das ziemlich lange ...
2) Bringt keine Änderungen

Zitat von Bernhard Geyer:
Verwendest du auch schön prepared Statements?
Liegt Firebird auch auf dem gleichen Rechner (Round Trip Delays)?
1) Nicht dass ich wüßte. Wie mache ich sowas?
2) Ja, läuft als Embedded.

Zitat von RavenIV:
Wie soll die Datenbank einen gescheiten Index verwenden, wenn
a) keiner vorhanden ist (nur CategoryId)?
b) ein SELECT * gemacht wird?
c) perparedStatements nicht verwendet werden?

Überleg Dir doch nochmal das DB-Design und die SQL-Abfrage.
a) Alle Einträge aus dieser Tabelle werden nur nach CategoryId ermittelt. Daher ging ich davon aus, dass ein Index auf diese Spalte ausreichen sollte, da die Tabelle eben nicht anders angesprochen wird. Wie kann ich's besser machen?
b) Es werden auch alle Felder aus der Tabelle benötigt. Und wenn ich die einzelnen Spalten alle angebe, wird es davon leider nicht schneller.
c) Wie oben schon geschrieben: Ich beschäftige mich seit ~1 Woche mit Firebird. In der Zeit ist es heute das erste mal, dass ich auf diesen Begriff stoße. Daher: Wie verwende ich sowas?
  Mit Zitat antworten Zitat