Stan, Claudius, your feedback on fc1 ?
Claudius Sailer
Claudius at sailer-online.de
Tue Dec 27 20:41:57 CST 2005
Hi Ruslan,
Am 27. Dez 2005 um 19:30 Uhr schrieb Ruslan Zasukhin:
> Claudius, also I wonder, if fc1 give any speedup for your project ?
>
> But since you use heavy SQL, main speedup here yet in forward.
with my 2nd TestApplication I send to you I get following results
V4RB1.10 RB 5.5
1,61sec
1,86sec
1,90sec
1,90sec
1,61sec
V4RB2.1fc1 RB2006r1b4
2,21sec
2,28sec
2,00sec
1,96sec
1,96sec
TestApplication 2 always changing "AktuellesKonto"
V4RB1.10
SQLString="SELECT B.RecID, B.BDatum, KZ.Konto_Name,
K.Kategorie_Name, B.Betrag, B.Kommentar, B.Blocked"
SQLString=SQLString+" FROM Buchungen B, Kategorien K, Konten KZ"
SQLString=SQLString+" WHERE B.Kategorie_ID=K.RecID"
SQLString=SQLString+ " AND B.Ziel_Konto=KZ.RecID"
SQLString=SQLString+ " AND B.Deleted='0'"
SQLString=SQLString+ " AND B.Herk_Konto='"+cstr(AktuellesKonto)+"'"
cmd= "INSERT INTO Anzeige (Buchungs_ID, BDatum, Gegenkonto,
Kategorie, Ausgabe, Kommentar, Blocked) "
cmd=cmd + SQLString
count=meineDatenbank.SQLExecute(cmd)
//Einnahmen
SQLString="SELECT B.RecID, B.BDatum, KO.Konto_Name,
K.Kategorie_Name, B.Betrag, B.Kommentar, B.Blocked"
SQLString=SQLString+" FROM Buchungen B, Kategorien K, Konten KO"
SQLString=SQLString+" WHERE B.Kategorie_ID=K.RecID"
SQLString=SQLString+ " AND B.Herk_Konto=KO.RecID"
SQLString=SQLString+ " AND B.Deleted='0'"
SQLString=SQLString+ " AND B.Ziel_Konto='"+cstr(AktuellesKonto)+"'"
cmd= "INSERT INTO Anzeige (Buchungs_ID, BDatum, Gegenkonto,
Kategorie, Einnahme, Kommentar, Blocked) "
cmd=cmd + SQLString
count=meineDatenbank.SQLExecute(cmd)
meineDatenbank.Tanzeige.flush
FIRSTPART FINISHED
SQLString="SELECT RecID, * FROM Anzeige ORDER BY BDatum,
Gegenkonto, Kategorie"
CurBuchungen=meineDatenbank.SQLselect(SQLString, kV_Server,
kV_NoLocks, kV_Random)
Ende=CurBuchungen.RecordCount
SECONDPART FINISHED
Filling ListBox
THIRDPART FINISHED
Results in sec FIRSTPART / SECOND PART / THIRDPART
0,78 / 0,03 / 1,43
0,70 / 0,05 / 1,31
0,81 / 0,05 / 1,40
0,73 / 0,06 / 1,30
0,71 / 0,05 / 1,23
V4RB2.1fc1
SQLString=SQLBuilder(33,false,cstr(AktuellesKonto))
FIRSTPART FINISHED
CurBuchungen=V4RBSQLSelect(meineDatenbank,SQLString)
Ende=CurBuchungen.RecordCount
SECONDPART FINISHED
Filling ListBox
THIRDPART FINISHED
Results in sec FIRSTPART / SECONDPART / THIRDPART
0,000 / 1,30 / 1,43
0,016 / 1,11 / 1,56
0,030 / 1,05 / 1,38
0,016 / 1,53 / 1,08
0,030 / 1,06 / 1,06
SQL-Coding for SQLString. I am using UNION because other possiblitiy
is actually not supported with V4RB2 Call #811
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'"
SQLStringBuild=SQLStringBuild + " UNION"
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'"
SQLStringBuild=SQLStringBuild + " ORDER BY B.BDatum,
KZ.Konto_Name, K.Kategorie_Name"
My Result
testapplication 2 is close to V4RB1.10. Really good because at the
beginning V4RB2.X was betwenn 2 and 3 times slower as V4RB1.10.
TestApplication 1 is with THIRDPART now close and okay. But
SECONDPART hurts me deeply with V4RB2.1fc1. When I say FIRSTPART and
SECONDPART is a union V4RB1.10 is 10-40% faster than V4RB2.1fc1.
V4RB2.1 is much faster as some versions before, but it would be nice
when it would be faster than V4RB1.10. In this coding V4RB1.10
Solution has 2 SQLs which fills an other table from tables and SQL
which reads from this table and generates a cursor. And this is
faster then having 1 SQL which reads from tables and generates
cursor. I would expect that second way should be much faster as
solution 1 with V4RB1.10
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