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