Die Suche ergab 485 Treffer

von bfuerchau
Di 4. Mai 2021, 09:18
Forum: Dies und Das
Thema: Bereinigung; Datenbank
Antworten: 3
Zugriffe: 17211

Re: Bereinigung; Datenbank

Deshalb machen wir ja auch für die Bereinigung 1x wöchentlich einen backup/restore um die DB zu bereinigen. Allerdings ist es bei uns auch so, dass zur Laufzeit viele Tabellen entstehen und wieder gelöscht werden was die FB2.5 ab und an durcheinander bringt. In FB3 ist das u.U. nicht mehr so häufig ...
von bfuerchau
Mi 28. Apr 2021, 20:50
Forum: Dies und Das
Thema: Bereinigung; Datenbank
Antworten: 3
Zugriffe: 17211

Re: Bereinigung; Datenbank

Das Problem habe ich leider auch ab und zu. Da geht kein Backup, gfix o.ä. Das Einzige was dann wirklich hilft, ist ein Repikator, der den Inhalt Tabelle für Tabelle, Zeile für Zeile kopiert und eine neue DB erstellt. Der Datenteil der Tabellen geht am seltensten kaputt. FBCopy kann das u.U. gewährl...
von bfuerchau
Di 27. Apr 2021, 11:36
Forum: Praxiseinsatz
Thema: Bulk Load
Antworten: 16
Zugriffe: 22195

Re: Bulk Load

Ich habe nun mal deinen Bench auf einer 2.5 FB ausprobiert: GTT 24783 Sätze/Sek. Table 25056 Sätze/Sek. Nach dem nun der .Net-Treiber mit der Satzlänge von 64K nicht zurechtkommt musste ich die Domainlänge mal auf 400 kürzen und die Anzahl Felder reduzieren.. Ob es am Treiber liegt oder an der Kommu...
von bfuerchau
Mo 19. Apr 2021, 16:41
Forum: Praxiseinsatz
Thema: Bulk Load
Antworten: 16
Zugriffe: 22195

Re: Bulk Load

Falls es überhaupt noch jemanden interessiert: Firebird 2.5: Die SQL-Länge ist auf 64K beschränkt, das wissen wir ja, allerdings bei der Verwendung von UTF8 auf 16K. Kommen im SQL-Text keine UTF8-Zeichen vor (wie Umlaute), können 64K verwendet werden. Falls doch Umlaute o.ä. vorkommen, wird in UTF8 ...
von bfuerchau
So 18. Apr 2021, 17:42
Forum: Praxiseinsatz
Thema: Bulk Load
Antworten: 16
Zugriffe: 22195

Re: Bulk Load

Alle Versuche einen dynmaschin BulkCopy durchzuführen scheitert an divesen Fehlermeldungen der Firebird. Die entsprechenden Beispiele die man so findet, gehen immer von einem Textblock mit eingebetteten Werten statt Parametermarkern aus. Also einen Execute Block as begin insert into mytable values('...
von bfuerchau
So 18. Apr 2021, 12:26
Forum: Praxiseinsatz
Thema: Temporäres Sperren von Triggern
Antworten: 5
Zugriffe: 11170

Re: Temporäres Sperren von Triggern

Nun ja, in unserer BI-Lösung wird sehr viel zur Laufzeit mit dynamischem DDL gearbeitet. Dies geht nun mal ausschließlich auf diesem Weg. Zusätzlich benötige ich da noch eine Sperrlösung, weil 2 DDL's gleichzeitg häufig zum DB-Crash führen. Aber das erledige ich mit einem "Select * from MyTable for ...
von bfuerchau
So 18. Apr 2021, 12:20
Forum: Praxiseinsatz
Thema: Bulk Load
Antworten: 16
Zugriffe: 22195

Re: Bulk Load

Auf 255 inserts komme ich ja noch nicht mal. a) komme ich da über 64 KB b) arbeite ich mit Parameter-Markern und da ist eine Pufferlänge beschränkt. Leider finde ich dazu keine Berechungsmethode. Außerdem wird eine global temorary table gar nicht in die DB geschrieben sondern in den Temp-Ordner, und...
von bfuerchau
Sa 17. Apr 2021, 19:52
Forum: Praxiseinsatz
Thema: Temporäres Sperren von Triggern
Antworten: 5
Zugriffe: 11170

Re: Temporäres Sperren von Triggern

Bestimmet DDL's kann man nur per dynamischem SQL erledig.
https://firebirdsql.org/refdocs/langref ... cstat.html
Das schöne ist, DDL per Execute unerliegt meist keiner Einschränkung.
Allerdings muss für die Änderung von Table-Metadaten die Tabelle exclusiv im Zugriff sein.
von bfuerchau
Do 15. Apr 2021, 17:02
Forum: Praxiseinsatz
Thema: Bulk Load
Antworten: 16
Zugriffe: 22195

Re: Bulk Load

Nachtrag und neueste Erkenntnisse: Die Performancc hängt schon wesentlich von der Anzahl Spalten und somit auch von der Anzahl Parameter ab. Dabei bin ich allerdings auf ein Limit gekommen: Eine Prozedur/Block darf bis 64KB sein. Die Summe der Parameterfelder darf die aktuelle Zeilenlänge (64K) aber...
von bfuerchau
Mi 14. Apr 2021, 19:28
Forum: Praxiseinsatz
Thema: Bulk Load
Antworten: 16
Zugriffe: 22195

Re: Bulk Load

So, nun habe ich nach den obigen Prinzipien einen Execute Block generiet (62 KB) und es hat im Prinzip keinen Vorteil gebracht. Durch die lange Syntax (Parameter Definition, Insert-Befehle) habe ich mit z.B. 72 Spalten nur 16 Inserts zusammen gebastelt. Grundsätzlich funktioniert es, allerdings komm...