Einzelnen Beitrag anzeigen

Nuclear-Ping
(Gast)

n/a Beiträge
 
#1

[gelöst] Umstieg von ALS auf Firebird -> Sehr langsam

  Alt 15. Apr 2008, 01:46
Datenbank: Firebird • Version: 2.0.3 • Zugriff über: ZEOS
Hallo,

ich habe die Datenbank unserer Anwendung die letzten Tage mit Firebird 2.0.3 ausgetauscht und vorhin die letzten Konvertierungen abgeschlossen. Vorher lief das Ganze mit Advantage Local Server 7.
Jetzt stell ich allerdings fest, dass das System noch langsamer läuft wie vorher.

Zum Beispiel wenn man in der Anwendung für eine Analyse einen Hauptknoten auswählt, wo so ca. 16.000 Einträge dahinter liegen, dauert das gezählte 13 Sekunden bis er mit dem laden fertig ist. Der Hauptknoten hat noch einige Unterknoten, die alle per "SELECT * FROM DataDB WHERE CategoryID=..." durchgegangen und deren Daten geholt werden.

Mit der alten Datenbank hat das ~7 Sekunden gedauert. Ist zwar auch nicht der Hit, aber deswegen auch der Umstieg, da ich mir einen Geschwindigkeitszuwachs erhofft hatte.

Indize sind soweit ich das beurteilen kann korrekt, es sind keine JOINs in der Query, sondern nur so einfach wie oben angesprochen.

SQL-Code:
CREATE TABLE DataDB (
  Id INTEGER NOT NULL,
  CategoryId INTEGER NOT NULL,
  Problem BLOB SUB_TYPE TEXT,
  ProblemDescription BLOB SUB_TYPE TEXT,
  Solution BLOB SUB_TYPE TEXT,
  SolutionDescription BLOB SUB_TYPE TEXT,
  SymbolType1 SMALLINT,
  SymbolFile1 VARCHAR(16),
  SymbolType2 SMALLINT,
  SymbolFile2 VARCHAR(16),
  Flags INTEGER DEFAULT 0,
  PRIMARY KEY (Id)
);
CREATE GENERATOR DataDB_Id_Gen;
CREATE INDEX DataDBOrdinary ON DataDB (CategoryId);

SET TERM & ;
CREATE TRIGGER DATADB_BI FOR DATADB ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN
  IF (NEW.ID IS NULL) THEN
    NEW.ID = GEN_ID(DATADB_ID_GEN, 1);
END
&
SET TERM ; &
Ich bin noch recht frisch im Umgang mit Firebird, daher verzeiht mir bitte eventuell grobe Fahrlässigkeiten.

Hab ich was übersehen oder vergessen? Jemand eine Idee?

[edit]
Vielleicht noch zur Information: Die Datenbank selber ist nur 26MB groß. Sie hat keine Bilder (BLOBs) intern gespeichert, diese sind alle extern abgelegt und es wird nur auf die Dateinamen verwiesen.
Eigentlich sollte das doch ruck-zuck gehen ...
[/edit]
  Mit Zitat antworten Zitat