Problème de concurrence avec SQLite en environnement multi-thread

MySQL, PostgreSQL, requetes, optimisation
toto_tech
Messages : 365
Inscription : ven. avr. 17, 2026 7:24 pm

Problème de concurrence avec SQLite en environnement multi-thread

Message par toto_tech »

Coucou, j'ai une app Python qui utilise SQLite avec 10 threads. J'ai souvent des 'database is locked'. Je croyais que la version 3.35+ gérait mieux la concurrence ?
Sauvegardez, bon sang
flo34
Messages : 31
Inscription : mer. juil. 23, 2025 7:25 pm

Re: Problème de concurrence avec SQLite en environnement multi-thread

Message par flo34 »

SQLite reste limité en écritures concurrentes. As-tu essayé WAL mode ? (PRAGMA journal_mode=WAL). Ça améliore beaucoup dans nos tests.
guillaume
Messages : 267
Inscription : lun. mars 16, 2026 7:24 pm

Re: Problème de concurrence avec SQLite en environnement multi-thread

Message par guillaume »

WAL mode + augmenter le timeout (PRAGMA busy_timeout=3000) peut aider. Mais au-delà de 5-6 threads actifs, passe sur PostgreSQL vraiment...
toto_tech
Messages : 365
Inscription : ven. avr. 17, 2026 7:24 pm

Re: Problème de concurrence avec SQLite en environnement multi-thread

Message par toto_tech »

Merci ! Le WAL mode a réduit les erreurs, mais j'ai encore des locks quand plusieurs threads UPDATE la même table. Je vais peut-être devoir mettre un verrou applicatif...
Sauvegardez, bon sang
flo34
Messages : 31
Inscription : mer. juil. 23, 2025 7:25 pm

Re: Problème de concurrence avec SQLite en environnement multi-thread

Message par flo34 »

Oui, ou batch tes updates. Chez nous on accumule les changements en mémoire et on fait un gros UPDATE toutes les 100 opérations. Gain énorme !
Répondre