I have a largish DB around 1GB in size. There is a table with 5 million rows in it that has a 3-key index on it. This database file is fragmented -- to what degree I'm not sure.
Using sqlite 3.6.14, dropping and recreating the index under WinXP Pro (on a local disk) with no other activity takes about 90 seconds. With the same database on Red Hat Linux 64-bit with no other activity and a local disk, the index recreation takes almost 30 *minutes*. The activity is completely I/O bound. If I vacuum the database, the Windows time drops to 70 seconds, and the Linux time drops to 7 minutes. Conversely, with this same table and index starting from empty, if I start inserting rows with the index in place, on Windows the insertion speed drops dramatically after about 100-200K rows and takes about 6-7 *hours* to complete. On Linux 64-bit, the same experiment takes less than an hour to complete and the insertion speed seems fairly constant. Can anyone offer any explanations for these huge disparities in sqlite performance on these two platforms? And why Windows does badly on index insertions and well on rebuilding it from scratch, and Linux 64-bit has the exact opposite behavior? Brian Dantes _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users