Monday, November 3, 2003, 11:22:55 PM, Ben Carlyle wrote: >> > Can any readers suggest ways that I have not thought of for making >> > large numbers of non-localized INSERTs go faster?
>> Instead of journaling the old ("undo") pages of idx2, simply record >> the fact that idx2 is modified (i.e., make a single record in the >> journal). Upon recovery, noticing that idx2 is modified will cause it >> to be recreated from the rolled-back data. > I've been thinking about his for a while and I think the solution, as with > many other potential sqlite performance issues is to solve it in the > operating system, not sqlite it's self. If you don't have enough bandwidth > to your file, raid it. If you want to be able to write a large number of > transactions per second using journalling that lazily writes to the > database enable data-journalling on your filesystem. Using the OS or RAID may solve many problems. In this case, though, I proposed a solution that eliminated all of the index journaling normally applied by sqlite. In D. Richard Hipp's example there were 30000 writes to (mostly) different pages for idx2. With sqlite presently this means 60000 pages written, and a lot of disk head motion. With my approach, it means 30001 pages written (lazily) -- and it works without added hardware or a journaling file system. Now, I'm not necessarily advocating changing sqlite in this way, but I don't think you'll see this > 2::1 speed advantage with just OS journaling. e --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]