Re: EDS - replacing record data slows down database
- Posted by Robert Craig <rds at RapidEuphoria.com> Aug 19, 2005
- 469 views
Tone Škoda wrote: > I tried to create benchmark test but was having problem creating highly > fragmented > database where file size (or speed) difference between non-fragmented and > fragmented > file would be noticable. i guess test should be made with some existing > program. > but i had an .edb file which was so fragmented that it went from 95 mb to 8 kb > when > compressed, and it got that fragmented in only a week or so. You must have a very interesting pattern of allocating and freeing space in the database. Maybe you allocate 1Mb, then free it, then allocate 1K (say), and EDS allocates the 1K from the space formerly used by the 1Mb, so it only has .999Mb left, which means it can't be used for your next 1Mb allocation, etc. Or maybe you allocate/free 1Mb, 1.01 Mb, 1.02 Mb, so you can't use a previously-freed block, and EDS can't merge the previously-freed blocks because there are small in-use blocks in between. This sort of thing somethimes happens with C's malloc and other allocation systems. I'd be interested to know what allocation/deallocation pattern you have. Some databases that I've been updating daily for years, stabilize with just a few percent of space on the free list. They allocate/free a variety of different sizes, in a fairly random pattern. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com