Here is an analogous question: When I commute to work, I do so by wallowing on the ground like an inch-worm from my house to the train stop, then taking the train. Why does the first leg take so much of the trip time? > My code creates the SQLiteConnection instance for each query and dispose it after the usage. There is a lot going on during that call, taking time for I/O and CPU cycles. Most usages of SQLite involve a longer-lasting connection, where the cost of its creation can be amortized over many queries.