Performance — Bonnes pratiques#
avancé
PRAGMA journal_mode = WAL;— meilleure concurrence lecture/écriture.PRAGMA synchronous = NORMAL;— bon compromis sécurité/vitesse avec WAL.PRAGMA cache_size = -N;— augmente le cache mémoire (en Ko, valeur négative).- Grouper les écritures dans des transactions (voir Transactions).
- Utiliser des requêtes préparées côté application (évite la recompilation SQL).
ANALYZE;après un changement significatif de volumétrie pour mettre à jour les statistiques.VACUUM;périodiquement pour défragmenter (coûteux, à planifier hors pic).- Préférer
EXISTSàCOUNT(*) > 0pour tester une présence.
PRAGMA journal_mode = WAL;
PRAGMA synchronous = NORMAL;
PRAGMA cache_size = -20000; -- ~20 Mo de cache
ANALYZE;
Diagnostiquer une requête lente#
Rechercher SCAN (parcours complet, potentiellement lent) vs SEARCH (utilisation d'un index).
SQLite
SQLite est mono-fichier et mono-machine : les gains de performance viennent surtout de l'indexation, du mode WAL et de la réduction du nombre de transactions, pas d'un scaling horizontal.