On Mon, Jan 2, 2012 at 2:32 PM, Yi Lu <y...@ramsoft.biz> wrote: > Approach 1 seems to be least risky. Disk space should not be a big issue with > today's hardware. >
The problem is not disk space, but locality of reference. With small records, adding four bytes could decrease the number of rows per page by 10-15%, leading to more disk I/O. That's a significant cost to every database which can be avoided by using a slightly more complicated variable length transaction id or a flag that indicates which size is used for a particular record. Firebird already checks the flags to determine whether a record is fragmented, so the extra check adds negligible overhead And, as an aside, sweeping is not read-only now. It's purpose is to remove unneeded old versions of records from the database. The actual work may be done by the garbage collect thread, but the I/O is there. Good luck, Ann ------------------------------------------------------------------------------ Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel