Hi, I'm looking to use DISQLite to store temporary lists. The database (with only one table) is created, populated, then deleted once the thread is finished. The database is accessed exclusively by only one thread, no locking is needed, and maximum performance is required. Rows are selected by their row ID only. The reason for using a database is that I want to reduce memory usage. Previously the lists were stored in memory (using TStringList). By putting the list data into a database I hope to reduce the memory usage. There can be potentially hundreds of thousands of list entries. Now for the stupid question :) Using a database transaction increases insert and update performance hugely. I also notice that I can read the updated data (via SELECT) even before it has been committed. So, the stupid question is, what is the disadvantage (in my situation) to starting a transaction as soon as I've created the database? Surely there must be a drawback somewhere? Is SELECT slower (I'm just using the RowID) or could it return the wrong results? Is memory usage going to be higher? If relevant, for PRAGMA I've got locking_mode=EXCLUSIVE and synchronous=OFF Thanks, Michael J. Leaver 2BrightSparks Pte Ltd http://www.2BrightSparks.com/ _______________________________________________ Delphi Inspiration mailing list yunqa@xxxxxxxxxxxxx //www.freelists.org/list/yunqa