joins are slow ?
olivier
vidal_olivier at yahoo.fr
Sat Sep 25 15:23:58 CDT 2004
>
> Please tell by STEPS this.
> I want to repeat.
ok.
I opened the small program " two tables " which was in the folder
Valentina_RB \ examples \ (3) two tables \ .
The program did not run because there were methods " #pragma
arrayBoundsChecking " which do not exist any more in RB 5.5.
I got rid of to them.
I set cache to 20 Mo (in TestApplication Class, open event : "Err =
ValentinaInit(20 * 1024 *1024, "", "" )"
I verified that person_ptr and byte_fld were indexed.
The program run.
I went to the "test" menu and I clicked twice on "add 100K+400K
records". 200 000 recordings were thus create in the db.
Then I have clicked on "scroll_w".
The window-query appears.
Query "SELECT * FROM person,task WHERE byte_fld < 10 ".
I clicked on " do it! ".
The results appear in the window after 24 seconds on my old powerbook
(400Mhz, 384 Mo Ram, HD 4200 trs/mn).
(18 seconds if I entered the same request in viSQL)
DATABASE :
TWO TABLES
Person :
name = "Person"
BoolFld = new VBoolean( "bool_fld" )
ByteFld = new VByte( "byte_fld", kV_Nullable )
ShortFld = new VShort( "short_fld" )
UShortFld = new VUShort( "ushort_fld" )
LongFld = new VLong( "long_fld" )
ULongFld = new VULong( "ulong_fld" )
FloatFld = new VFloat( "float_fld" )
DoubleFld = new VDouble( "double_fld" )
StringFld = new VString( "string_fld", 30 )
DateFld = new VDate( "date_fld" )
TimeFld = new VTime( "time_fld" )
byteFld.indexed=true //ADD
Task :
name = "task"
mPersonPtr = new VObjectPtr( "person_ptr", inDataBase.mPerson,
kV_SetNull )
mName = new VString( "name", 20 )
mStartTime = new VTime( "start_time" )
mFinishTime = new VTime( "finish_time" )
mStatus = new VByte( "status" )
thank you
olivier
More information about the Valentina
mailing list