SQLite est un moteur libre de base de données relationnelles aux possibilités fantastiques. Disons en deux mots qu'il a tout d'un grand,
Bémol. La limitation fondamentale de SQLite est son modèle de verrouillage rudimentaire, même comparé à MySQL. En effet, toute requête en écriture et même toute transaction ouverte sur la base verrouille toute la base de façon exclusive.
« Multiple processes can have the same database open at the same time. Multiple processes can be doing a SELECT at the same time. But only one process can be making changes to the database at once.
[...] Locking in SQLite is very course-grained. SQLite locks the entire database. » http://sqlite.org/faq.html#q7(...)
Autre point notable :
« An attempt to execute COMMIT might result in an SQLITE_BUSY return code. This indicates that another thread or process had a read lock on the database that prevented the database from being updated. When COMMIT fails in this way, the transaction remains active and the COMMIT can be retried later after the reader has had a chance to clear. » http://sqlite.org/lang.html#transaction(...)
# revenons sur terre
Posté par Antoine . En réponse à la dépêche Ça bouge du côté de SQLite !. Évalué à 10.
Bémol. La limitation fondamentale de SQLite est son modèle de verrouillage rudimentaire, même comparé à MySQL. En effet, toute requête en écriture et même toute transaction ouverte sur la base verrouille toute la base de façon exclusive.
« Multiple processes can have the same database open at the same time. Multiple processes can be doing a SELECT at the same time. But only one process can be making changes to the database at once.
[...]
Locking in SQLite is very course-grained. SQLite locks the entire database. »
http://sqlite.org/faq.html#q7(...)
Autre point notable :
« An attempt to execute COMMIT might result in an SQLITE_BUSY return code. This indicates that another thread or process had a read lock on the database that prevented the database from being updated. When COMMIT fails in this way, the transaction remains active and the COMMIT can be retried later after the reader has had a chance to clear. »
http://sqlite.org/lang.html#transaction(...)