Hello Paul,

I worked on a system with a table called ITEMS which has multiple memo fields, and ran into similar issues.  It took quite a while to PACK MEMO.  What I ended up doing was to split out all of the memo fields into their own table called ITEMSMEMO with a structure of CREATE TABLE ITEMSMEMO (ItemMemoPK INTEGER, ItemPK INTEGER, TypeMemo CHAR(20), TextField MEMO, dCreate DATETIME).  The time it takes to do a PACK MEMO on this table was reasonable compared to the combined table.

Another option is to avoid memo fields, but this increases programming difficulty.  You could create an external table that contains 255 character segments of the memo fields that combined with an ORDER field could allow for the recreation of the memo field.  CREATE TABLE ITEMSMEMO (ItemMemoPK INTEGER, ItemPK INTEGER, OrderNo INTEGER, TEXTFIELD CHAR(255), dCreate DATETIME). To display the field, you'll need to query for it and then assemble it and then display it.  When it changes, you will delete the previous values, and then split the field and insert it into the table.

Another option is store the text in external files on the server or the machine.  There are all sorts of issues that go along with this including making sure you have the right version that goes with the record as it was saved.

Another option is to upgrade to a true database server such as MySQL or MariaDB or PostgreSQL.  These database servers will effectively PACK MEMO on your behalf when needed.

Hope this helps.

-Kevin



On 05/26/2020 08:14 AM, Paul Newton wrote:
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]

_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/c8aa28a7-72a5-2b1d-4154-a3d8ae9d8...@cully.biz
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to