AW: Wie bekomme ich einen performanten Firebird?
Nichts von alledem. Ich führe nur ein Script aus, das aus 8 Mio einzelnen Inserts besteht und nach jeweils 100 Inserts ein commit. Leider wird von FB ja (soweit ich weiss) die Syntax von meheren Value-Gruppen nicht untertstützt (Values (Values-1) [, (Values-n)]).
Es sind auch nicht sonderlich große Datensätze:
Code:
Momentan habe ich über gfix async und buffers 8000 eingestellt. Damit komme ich auf ca. 1 Mio records / h = ~ 300/s. Und je mehr es werden, desto länger dauert das commit, wobei dier Performance ab ca. 300000-500000 Sätzen schlagartig in den Keller geht. Die Übertragung der Daten ist aber schnell.
Insert into buchung values(147393, null, null, 23, 14299, '1', '35842011', 0, null, null, null, 0, null, '2005-05-02', null, 21, 145646, '2005-05-02', '17:46:55', 'ZUG', null, null, 'BWirth', null);
Insert into buchung values(147396, null, null, 23, 14302, '2', '35842011', 1, null, null, null, 0, null, '2005-05-02', null, 21, 145647, '2005-05-02', '18:03:21', 'ZUG', null, null, 'BWirth', null); Insert into buchung values(147399, null, null, 23, 14302, '3', '35842011', 1, null, null, null, 0, null, '2005-05-02', null, 21, 145648, '2005-05-02', '18:03:42', 'ZUG', null, null, 'BWirth', null); |
AW: Wie bekomme ich einen performanten Firebird?
Zitat:
Server Version: WI-V2.5.2.26540 Firebird 2.5 Server Implementation: Firebird/x86-64/Windows NT Service Version: 2 Lade dir das Beispiel doch mal runter und probier's selber aus. |
AW: Wie bekomme ich einen performanten Firebird?
Es ist auch nicht jedes 100er commit so langsam, nur ca. alle 4000 records.
|
AW: Wie bekomme ich einen performanten Firebird?
Ohne einem parametrisierten INSERT oder über den bereits erwähnten Weg via EXTERNAL TABLE wirst du für Batch-Inserts nie eine akzeptable Performanz erreichen.
Nochmal zu meiner Frage: Welche Art von Commit verwendest du? :-D |
AW: Wie bekomme ich einen performanten Firebird?
K.A. ich habe ei fach in jeder 100. Zeile des scripts ein
Code:
commit;
|
AW: Wie bekomme ich einen performanten Firebird?
Zitat:
Beispiel-Insert-Zeile:
Code:
INSERT INTO V_PLAETZE (P_LAND, P_PLZ, P_ORT, P_STATE, P_PROVINZ, P_KOMMUNE, P_LAT, P_LON, P_GENAU)
VALUES ('Mexiko', '99312', 'El Vergel', 'Zacatecas', 'Jerez', 'Jerez (Jerez De Garcia Salinas)', 22.5, -103, 4); |
AW: Wie bekomme ich einen performanten Firebird?
Ich habe mir das heruntergeladen, danke schon einmal. Ausführen kann ich das aber erst heute Abend, da ich momentan noch den Buchungsimport am Laufen habe - der wird noch ca. 6h dauern, ist nach 2h gerade bei 2 Mio. Dein Beispielbestand hat allerdings auch nur 900k records. Aber es wird reichen zum Testen, denn der Einbruch erfolgt ja schon nach wenigen 100k.
|
AW: Wie bekomme ich einen performanten Firebird?
Hallo,
was mich wundert, wenn die DB im async Mode geht es erst einmal erheblich schneller, das es erst einmal schneller ist ist ja in Ordnung, trotzdem habe ich die Vermutung das der FB Server nicht schnell genug auf der Platte schreiben kann. Ich hatte so einen Fall bei einem Kunden, super schnelle Platten, aber ab einer gewissen Menge an Daten ging die Plattenperfomance im Keller, konnte man auch mit einfachen Kopieren von Dateien nachstellen. Auch schon Antiviren Software, etc geprüft? Das die evtl. Irgendetwas ausbremsen? Gruß Jörg |
AW: Wie bekomme ich einen performanten Firebird?
Auf dem Server läuft keine. Wenn ich auf der WS ausschalte, gibt es keinerlei Unterscheid - hatte ich bereits probiert.
|
AW: Wie bekomme ich einen performanten Firebird?
ein bisschen mehr zur Hardware wäre nützlich
Raid ? wenn ja was für eines ggf Stripset size ? Ram Buffer auf dem Controller ? Größe ? ? ? ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz