Information générale
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
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
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement