2010-05-21 6 views

Répondre

15

cela dépend du pragma utilisé. à partir de The definitive guide to SQLite,

De nombreuses pragmas ont des formes temporaires et permanentes. Les formulaires temporaires affectent uniquement la session en cours pour la durée de sa durée de vie. Les formulaires permanents sont stockés dans la base de données et affectent chaque session.

ou, selon les termes de votre question: formes temporaires sont utilisés dans chaque connexion à la base de données, les formes permanentes sont utilisées lorsque la base de données est créée pour la première fois.

le pragma documentation ne spécifie pas explicitement si un pragma est temporaire ou permanente. Cependant, il est généralement dit quelque chose comme

L'aspiration automatique doit être activée avant la création de tables. Il n'est pas possible d'activer ou de désactiver le vide automatique après la création d'une table.

signifie auto_vacuum est un pragma permanent ou

Lorsque vous modifiez la taille du cache à l'aide du pragma taille_cache, le changement ne dure que pour la session en cours.

ce qui signifie cache_size est temporaire. Donc, la meilleure façon de répondre à votre question est de lire attentivement la documentation de votre pragma spécifique. Alternativement, vous pouvez étudier le pragma source code (recherche de ** PRAGMA [, sensible à la casse).