Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
CURSOR Experiencing Memo Bloat
Message
From
15/07/2006 10:31:11
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
 
To
15/07/2006 10:19:44
General information
Forum:
Visual FoxPro
Category:
Troubleshooting
Miscellaneous
Thread ID:
01136610
Message ID:
01136675
Views:
12
>I cannot replicate with code -- even with THAT table while in a suspended state. That is what I was trying to convey with the latter part of the article. If I replace it manually thousands of times, no bloat -- only when it is done through this program.
>
>I cannot use a memory variable. The table is referenced recursively directly in hundreds of places.

You cannot? I could do that easily. Ok here is a sample:
SELECT * FROM employee INTO CURSOR xxEmployee readwrite
start = SECONDS()
FOR ix = 1 TO 1000
replace notes WITH REPLICATE('X',INT(RAND()*1000000))
ENDFOR
? SECONDS()-m.start
Keep an eye in task manager and temp folder. You'd see memo file going sky high (F5 at least once or you wouldn't).
Now try with:
SELECT * FROM employee INTO CURSOR xxEmployee readwrite
SCATTER NAME oRec memo
start = SECONDS()
FOR ix = 1 TO 1000
oRec.Notes = REPLICATE('X',INT(RAND()*1000000))
ENDFOR
? SECONDS()-m.start
Again checking in task manager.
First took over 17secs on my box. While the latter is under 1 sec with no negligible impact on memory/paging etc.
I don't understand why you can't use object instead.
Cetin
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform