Hi Paul,
I don't remember exactly where I learned this. It may have been a talk by Andy Kramek, or something I read here.
The way VFP uses Memo files will always append data to the end. Memo bloat will happen. Even if you only change the case of some text and the memo size doesn't change. A pointer is stored in the DBF to the beginning position of the note.
You could restructure you code to - store a path to a file that holds the information. - store the data in multiple 254 character fields or rows. - use a different data store moving away from DBFs. - nightly pack the memo.
So many options and so little time in a day.
Have fun, Tracy
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of Paul Newton Sent: Tuesday, May 26, 2020 8:14 AM To: profoxtech@leafe.com Subject: Memo bloat
Hi all
I have a table with a memo field. It contains ca. 970 records and the size of the FPT is ca 230KB. I added 161 records to the table, populating the memo field with several lines of text (the total size of all the text added was ca 700KB). In each case the memo field was a single replace (no memo = memo + ..., no replace memo with .... Additive). The FPT ended up as 234MB but a PACK MEMO reduced this to ca 935KB.
The trouble is that this is a widely used table in a multi-user environment and it would be impractical to use PACK MEMO on a regular basis. Blocksize is set to 64.
Any suggestions or comments would be very welcome. Thanks in advance.
Paul Newton
[excessive quoting removed by server]