Depuis SQLite est transactionnel, il repose sur fsync pour assurer un ensemble de déclarations ont terminé lorsqu'une transaction est validée. La vitesse et l'implémentation de fsync varient d'une plateforme à l'autre. Ainsi, en groupant plusieurs instructions dans une transaction, vous pouvez obtenir une augmentation significative de la vitesse car plusieurs blocs de données seront écrits avant l'appel de fsync.
Un article sqlite plus ancien here illustre cette différence entre faire plusieurs INSERT à l'intérieur et à l'extérieur des transactions.
Toutefois, si vous écrivez une application nécessitant un accès simultané aux données, notez que lorsque sqlite démarre une transaction d'écriture, toutes les lectures (instructions select) seront bloquées. Vous pouvez explorer l'utilisation de votre cache en mémoire pour récupérer des données pendant qu'une transaction d'écriture est en cours. Cela dit, il est également possible que le système de mise en cache de sqlite gère cela pour vous.
Bonjour, Je voudrais utiliser cette base de données dans mon ARM9 linux embarqué platform.Here J'utilise une mémoire flash pour la mémoire de données ont un problème de cycles.So d'écriture que je veux WRTE à la RAM et après le remplissage de RAM je veux le rincer à la base de données de disque. comment je peux implémenter ceci? N'importe quels codes d'échantillon ou n'importe quel document que je peux obtenir? –