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