Les vues matérialisées sont-elles insérées de manière synchrone ?
- Lorsqu’un
INSERTréussit, les données sont insérées à la fois dans la table et dans toutes les vues matérialisées. - L’insertion n’est pas atomique vis-à-vis des vues matérialisées. Pendant qu’un
INSERTest en cours, des clients concurrents peuvent voir un état intermédiaire : les données ont été insérées dans la table principale, mais pas encore dans les vues matérialisées, ou inversement. - Si vous utilisez les insertions asynchrones, elles mettent les données en tampon puis effectuent en interne une insertion classique, en renvoyant au client le même type de réponse que pour les insertions classiques. Si le client a reçu une réponse de succès d’une insertion asynchrone avec l’option
wait_for_async_insert(ce qui est le cas par défaut), les données sont insérées à la fois dans la table et dans toutes ses vues matérialisées.
INSERT ayant reçu une réponse positive signifie que les données ont été insérées dans chaque vue matérialisée de la chaîne. L’insertion n’est pas atomique.