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.