P.S. SQLite is very efficient and very fast .. but pay close attention to "transactions" when using it. If a transaction is under way it's very clever about lazy-writing; but if not it verifies every single disk write. (As it is designed to do.) Makes a huge difference in speed when writing. Nice thing about SQLite (aside from the fact that it seems to be pretty much bulletproof) is that "a database = a file, nothing more or less." Maybe just the ticket for building (any number of) handy indexes into your file.