General information
Category:
Databases,Tables, Views, Indexing and SQL syntax
Hi Michael,
>Thread.cdx 48,317 KB
>Thread.dbf 113,993 KB
>Thread.fpt 893,656 KB
I recently had to quick-fix some tables with redistributing the characters of fields.
The numbers you posted approximate the Poisson-distribution I was expecting/hoping for.
Memo fields are great if many fields are empty on potentially large fields. In your case here you still have a great vriation of field length, but nearly all fields have at least a few bytes, which could be put into a regular char field. This reduces the fpt length at start more than later on, as the "next" bytes will be empty on at least some fpt-records, so the equalizing/saving effect diminishes.
If you add a 250-Char field to your dbf and fill it with the first 250 bytes of the long memo field, your dbf will grow to 396 MB and the fpt will shorten to approx. 670 MB.
Add another 100-Char field to the dbf, and the fpt will shrink to about 540 MB, while the dbf increases to about 510 MB. Thus you shorten the fpt by about 345 MB while increasing the dbf by about 385 MB - which is pretty good as the sizes are almost equal.
Since only one field is involved, resturucturing access to a combination of iif(empty()... should be possible to handle either in a function or a few bracketing constants - so if you are backed into a corner this method gives you nearly 40% room again.
regards
thomas
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only