Question

J'ai des colonnes calculées dans une table et ont besoin de savoir si je dois mettre persistée à true. Quels sont les avantages? Y a-t-il des inconvénients? Que signifie « persistée » signifie?

Était-ce utile?

La solution

« Persisté » signifie « stocké physiquement » dans ce contexte.

Cela signifie que la valeur calculée est calculée une fois sur insert (et des mises à jour) et stockés sur le disque, il ne doit pas être à nouveau calculée sur tous les sélectionner.

provoque aussi une persistantes pénalité de performance lors de l'insertion et des mises à jour, étant donné que la colonne doit être calculée, mais augmentera les performances des requêtes de sélection ultérieures.

Alors, cela dépend de votre modèle d'utilisation, l'approche à suivre: si vous mettez à jour fréquemment, mais interroger beaucoup, vous devez définir persista = true.

Si vous mettez à jour fréquemment, ou si vous ne se soucient pas de la performance de récupération, vous devriez envisager de mettre en persista = false

Autres conseils

Une chose pas mentionné dans d'autres réponses: une colonne calculée doit être MAINTENUE pour être utilisable à partir foreign keys

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top