kji@vpnet.chi.il.us (Ken Isacson) (06/13/91)
Currently I am working on a rather large Paradox 3.5 application. What I need to know now is how do I calculate a record size? I ran some tests today to try and determine how much a non-keyed table with justone field, a date field, would occupy. From my test at about 1000 records, the average record size is 8 bytes per record. But at about 30,000 records, the average record size is about 4.something bytes per record. My goal is to be able to tell my users how much disk space is going to be required to able handle the number off accounts they will have on their database. Replies here are good, email is even better. Thanks, Ken -- __________________________________________________________ Ken Isacson Sysop - Board Of Trade BBS GT 016/001 kji@vpnet.chi.il.us (815) 753 - 0042 ----------------------------------------------------------
DEVRIES@NAUVAX.UCC.NAU.EDU (Ernie DeVries) (06/13/91)
From "Paradox Programmer's Guide: PAL By Example": Field Type Length A Width in bytes (width 1-255) D 4 bytes $ 8 bytes N 8 bytes S 2 bytes The maximum overall width of an unkeyeed table is 4000 bytes; for a keyed table it is 1350 bytes. Hope this helps. +======================================================+ | /\ Ernie DeVries bitnet%"devries@nauvax" | | / \/\ Academic/Personal Computer Services | | /\/ \ \/\ | | Northern Arizona University "The Mountain Campus" | +======================================================+
wolcott@smiley.uucp (Dawn Wolcott) (06/14/91)
Paradox also uses a flexible formula when determining the allocation
for tables. It assigns blocks of disk space in either 1K, 2K, 3K or
4K block sizes. It then attempts to fill the blocks with as many
records as can fit into the block. The following are rules for
selecting block sizes.
For nonkeyed tables: Paradox chooses the SMALLEST block size that
will hold EXACTLY 1 record.
EXAMPLE: Record Size Block Size Recs/Block
800 bytes 1K 1
500 bytes 1K 2
3450 bytes 4K 1
100 bytes 1K 10
For keyed tables: Paradox chooses the SMALLEST block size that will
hold EXACTLY 3 records.
EXAMPLE: Record Size Block Size Recs/Block
200 bytes 1K 5
350 bytes 2K 5
100 bytes 1K 10
513 bytes 2K 3
1350 bytes 4K 3
There are 2-3 bytes overhead per block. Adding records to KEYED
tables; Paradox will frequently be required to open new blocks to
maintain index order when accepting new data. A file could easily
grow quickly. However, it is also likely that a record will have an
equal chance of finding room instead of opening up a block. If a
table is restructured, the table will be written again from scratch.
Refer to the previous Re: posting for record sizes.