*** 28,30 **** --- 28,47 ---- So, performance is still vastly quicker with a transaction when writing to a temporary, but transactions have the drawback of locking the entire database file for the duration of the transaction, even though only a temporary file is being written to, so, in multithreaded applications, it may be worth putting up with the lower performance to avoid this database locking behaviour. --Paul Smith + + ---- + _D. Richard Hipp on 2003-09-05:_ + + I tried a similar experiment on {quote: RedHat} 7.3 using SQLite 2.8.6 and got + numbers like this: + + *: main database without transaction - 6.204 seconds + *: main database with transaction - 0.063 seconds (100x faster!) + *: temp table without transaction - 0.286 seconds + *: temp table with transaction - 0.067 seconds + + So writing to the main database is about 100x slower without + a transaction. Writing to a temporary table is about 4x slower. + I had expected writing to a temporary table to be the same speed + regardless of whether or not it is within a transaction. The + 4x slowdown is puzzling. I will be looking into this....