On 1/20/19 6:32 PM, Thomas Kurz wrote:
> Just for curiosity: how do other DBMS (MySQL, etc.) solve this issue? I guess 
> the keypoint is that no matter where the query comes from, the database files 
> are always under control of the same process which then can take care of the 
> correct order in which to read and write data.
>
> But the problem that the same database page cannot be written to from 2 
> different statements (or being read while another statement is writing into 
> it) should arise there as well, shouldn't it? However, I have never seen 
> MySQL return some kind of "busy" (whatsoever it may be named there).
>
> As I said, just for curiosity - no offense against SQlite because I can well 
> understand the problem that SQlite has to deal with :-)
>
If the issue is the dead lock, you get similar issues with all DBMSes.
One thing that does help is that many DBMS make the transaction locking
on a record level, not the full database (at an overhead cost). somewhat
like that experimental concurrency option. Running into deadlocks is a
real issue with MySQL databases.

If the issue is improper sharing between threads, then the fact that
other DBMS run the database server in a separate process handles a lot
of the sharing issues (at the cost of overhead). SQLite, gets rid of a
lot of that overhead at the cost of the application needs to follow a
set of rules.

-- 
Richard Damon

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to