Nov 25, 2005 03:08
I've been doing some work on tracking down a performance problem with one IBD file per table. For comparison I created a version with all tables in one IBD file, some 26GB / 2,400 databases / 446,000 tables. That IBD file ended up having 364,329 fragments averaging 72k each but Windows said the drive didn't need to be defragmented. It would have been worse but I'd defragmented after loading the first 600 databases. NTFS, XP.
One problematic part was probably importing the dump into each database, 192 tables each time. The dump program produced an SQL script which first creates a table, then loads its data, repeating for each table in turn. Maybe doing all the table creating first, then loading all the data would produce less fragmentation and improve the import and subsequent in-service performance.