On 10 Nov 2013, at 12:05pm, Raheel Gupta <raheel...@gmail.com> wrote:
>>> I can't think of any other single feature that would remove the "lite" > > I am not a database expert. If you say so, it must be the case. > But if there is a way to implement concurrent writers in SQLite maintaining > the "lite" in SQLite, I would be the most happiest person here :) The main reason you seem to prefer SQLite to other databases is that it's faster. Adding row-level locking to SQLite would slow it down a lot. As a very simplified explanation, for one SELECT instead of try to lock the database check to see that the lock on the database is yours FOR EACH ROW: figure out where the row's data is read the data unlock the database you have to do FOR EACH ROW: figure out where the row's data is try to lock the row check to see that the lock on the row is yours read the data release the row If your SELECT returns 10 rows you end up doing 50 operations instead of 23. Which would mean that SQLite was half the speed, and no longer had any advantages for you, so you would use something else. Locking is the single hardest thing to get right when writing a DBMS. SQLite gets a lot of its tininess and speed by implementing the simplest fastest method of locking possible. Simon. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users