Hi, i post this question to support list without any answer - maybe developers can say something interesting. i have problem with understanding internal work of sweep my db size is 52.74GB i detach from db restart fb server and run sweep by gfix -sweep
now i see in task manager that Firebird 2.5.3.26584 write to disk 1154 GB this is 21 times bigger then db size itself! In my point of view sweep should do: 1. scan every db pages and take info about record versions from transactions between Oldest Transaction and Oldest Active Transaction 2. after first steep, sweep should process old record versions by garbage collector work and then 3. progress Oldest Transaction to value equal Oldest Active Transaction from time when sweep start. Garbage collector should work in page lock mode and when all info from page will be proccesed then if some old record versions was removed write whole page to hard drive. Can you tell me what I omitted? Sweep work in this way or such different? If yes i should see many reads and only few writes to disk but this not happend. I see >1TB writes to disc for db size 52.74GB. How this is possible? In time when SSD disc is often used for DB this decreases SSD life strongly. regards, Karol Bieniaszewski ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_122712 Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel