Stan, Claudius, your feedback on fc1 ?
Claudius Sailer
Claudius at sailer-online.de
Wed Dec 28 21:55:09 CST 2005
Am 28. Dez 2005 um 20:36 Uhr schrieb Claudius Sailer:
> but I will test tmpTable too during next days....
it is much much slower as solution with UNION and UNION ALL
meineDatenbank.Table( "TempAnzeige" ).DeleteAllRecords(NIL)
SQLString=SQLBuilder(47,false,cstr(AktuellesKonto)) //Ausgaben
cmd= "INSERT INTO TempAnzeige (Buchungs_ID, BDatum, Gegenkonto,
Kategorie, Ausgabe, Einnahme, Kommentar, Blocked) "
cmd=cmd + SQLString
count=V4RBSQLExecute(meineDatenbank,cmd)
SQLString=SQLBuilder(48,false,cstr(AktuellesKonto)) //Einnahmen
cmd= "INSERT INTO TempAnzeige (Buchungs_ID, BDatum, Gegenkonto,
Kategorie, Ausgabe, Einnahme, Kommentar, Blocked) "
cmd=cmd + SQLString
count=V4RBSQLExecute(meineDatenbank,cmd)
it takes 1,2-2sec for this code. With UNION ALL I don't have RAM-
Table and it is 0,8-1,1sec with my known coding
with following SQLs in SQLBuilder
case 47 //Auswertung für das Buchungsfenster zur ListboxBefüllung
mit RamTable - Ausgaben
SQLStringBuild="SELECT B.RecID, B.BDatum, KZ.Konto_Name,
K.Kategorie_Name, B.Betrag, null, B.Kommentar, B.Blocked"
SQLStringBuild=SQLStringBuild + " FROM Buchungen B, Kategorien
K, Konten KZ"
SQLStringBuild=SQLStringBuild + " WHERE B.Kategorie_ID=K.RecID"
SQLStringBuild=SQLStringBuild + " AND (B.Ziel_Konto=KZ.RecID AND
B.Herk_Konto='"+CheckString+"') AND B.Deleted='0'"
case 48 //Auswertung für das Buchungsfenster zur ListboxBefüllung
mit RamTable - Einnahmen
SQLStringBuild=SQLStringBuild + "SELECT B.RecID, B.BDatum,
KZ.Konto_Name, K.Kategorie_Name, null, B.Betrag, B.Kommentar, B.Blocked"
SQLStringBuild=SQLStringBuild + " FROM Buchungen B, Kategorien
K, Konten KZ"
SQLStringBuild=SQLStringBuild + " WHERE B.Kategorie_ID=K.RecID"
SQLStringBuild=SQLStringBuild + " AND (B.Herk_Konto=KZ.RecID AND
B.Ziel_Konto='"+CheckString+"') AND B.Deleted='0'"
RAM-Table is own method
Dim obj,Base as VTable
Dim newFld as VField
//Ram-Tabelle generieren
obj=meineDatenbank.CreateTable("TempAnzeige",EVStorageType.kRam)
Base = meineDatenbank.Table( "TempAnzeige" )
newFld= Base.CreateULongField("Buchungs_ID")
newFld.IsUnique=true
newFld.IsIndexed=true
newFld= Base.CreateDateField("BDatum")
newFld.IsIndexed=true
newFld= Base.CreateVarCharField("Gegenkonto",504)
newFld.IsIndexed=true
newFld= Base.CreateVarCharField("Kategorie",504)
newFld.IsIndexed=true
newFld= Base.CreateLongField("Ausgabe")
newFld.IsNullable=true
newFld= Base.CreateLongField("Einnahme")
newFld.IsNullable=true
newFld= Base.CreateVarCharField("Kommentar",504)
newFld.IsNullable=true
newFld= Base.CreateBooleanField("Blocked")
newFld.IsIndexed=true
I also found bad thing that I can't create RAM-Table with SQL-Code :-
(( should I make feature request??
bye
Claudius
--
G4/733 QS / MacOS X 10.4de / RB 2005r4/ Valentina 1.10.0 & 2.0.4
Homepage http://www.ClaSai.de
iChat ryhoruk
RealBasic ListBoxes: [ I feel the need...the need for speed!!! ]
More information about the Valentina-beta
mailing list