Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#56

AW: Wie bekomme ich einen performanten Firebird?

  Alt 27. Apr 2014, 13:25
Untenstehend die DDL für die betreffende Tabelle. Die Indizes waren beim letzten Import komplett deaktiviert mit ALTER INDEX <name> INACTIVE. In der usprünglichen DB gibt es keine PK und keine RI. Grosse Integer werden durch DOUBLE dargestellt, da die ursprünglich verwendeten DB keine BIGINT bzw. INT64 unterstützen - nicht lachen, das System ist in den Ursprüngen knapp 30 Jahre alt.
Code:
CREATE TABLE BUCHUNG
(
 "ID" DOUBLE PRECISION,
 "VORG_NR" DOUBLE PRECISION,
 "LFD_BNR" DOUBLE PRECISION,
 "MAND_ID" DOUBLE PRECISION,
 "ART_ID" DOUBLE PRECISION,
 "PAL_NR" CHAR ( 10 ),
 "ZUG_NR" CHAR ( 20 ),
 "ZUG_POS" INTEGER,
 "ABG_NR" CHAR ( 20 ),
 "ABG_POS" INTEGER,
 "LIEFER_ID" DOUBLE PRECISION,
 "KD_ID" DOUBLE PRECISION,
 "BELEG_ID" DOUBLE PRECISION,
 "BUCH_DAT" DATE,
 "ZUG_DAT" TIMESTAMP,
 "MENGE" DOUBLE PRECISION,
 "PLATZ_ID" DOUBLE PRECISION,
 "DATUM" DATE,
 "ZEIT" CHAR ( 8 ),
 "VORGANG" CHAR ( 3 ),
 "AUTO_VORG" CHAR ( 3 ),
 "ART" CHAR ( 4 ),
 "USER" CHAR ( 8 ),
 "STATUS" CHAR ( 4 )
);
CREATE INDEX "BUCHUNG_ID" ON BUCHUNG (ID);
CREATE INDEX "BUCHUNG_MAND_ID" ON BUCHUNG (MAND_ID, ART_ID, DATUM, ZEIT);
CREATE INDEX "BUCHUNG_ART_ID" ON BUCHUNG (ART_ID, MAND_ID, DATUM, ZEIT);
CREATE INDEX "BUCHUNG_ZUG_NR" ON BUCHUNG (ZUG_NR, MAND_ID, ART_ID);
CREATE INDEX "VORG_NR" ON BUCHUNG (VORG_NR);
CREATE INDEX "BUCHUNG_PLATZ_ID" ON BUCHUNG (PLATZ_ID);
CREATE INDEX "VORGANG" ON BUCHUNG (VORGANG);
CREATE INDEX "BUCHUNG_STATUS" ON BUCHUNG (STATUS);
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat