I wrote up a test case to do some performance tests for the update statement, and I'd thought I'd ask before probing around the code first.
I did some comparisons with SQLite3. The update statement is like this: update pk_sk set sk=? where pk=? pk being the primary key. Using the command line interpreter and running an explain query plan I get: SQLite3: 0|0|0|SEARCH TABLE pk_sk USING INTEGER PRIMARY KEY (rowid=?) (~1 rows) SQLite4: 0|0|0|SEARCH TABLE pk_sk USING PRIMARY KEY (pk=?) (~1 rows) Don't know if that provides anything, thought I'd send it. So a general synopsis of the tests. I'm doing random updates when there are 100,000 rows in a table. For SQLite3 when using a DB on disk I'm getting around 41,000 updates per second For SQLite4 when using a DB on disk I'm getting around 9,200 updates per second For the moment I'm not too worried about this, but it's really weird when I run tests with an in memory DB For SQLite3: 280,000 updates per second For SQLite4: 290 updates per second So why the abysmal drop for the in memory SQLite4? I'm assuming maybe some tracer/debug code I know nothing about. Thought I'd ask about this before I started getting lost in rooting around code and debugging my two versions of tests looking for something. If someone can give a little info. to give me a better focus on where to look, that would be great. Thanks, Rob _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users