Mysql
 sql >> Base de données >  >> RDS >> Mysql

Le stockage du nombre d'enregistrements de la base de données est-il redondant ?

Pour répondre à la question du titre. Oui, c'est redondant, mais si vous devez le faire dépend de votre situation.

Sauf si vous avez des problèmes de performances connus, calculez les décomptes et les totaux à la volée dans votre application et ne les stockez pas. Autrement dit, ne stockez pas les valeurs calculées à moins que vous n'ayez pas d'autre choix.

Dans la plupart des situations, vous n'aurez pas à recourir à cela et ne devriez pas.

Si vous devez stocker des valeurs calculées, procédez comme suit :

  • Ne le maintenez pas à jour en l'incrémentant. Recalculez le décompte/total à partir de toutes les données chaque fois que vous le mettez à jour.
  • Si vous n'avez pas beaucoup de mises à jour, placez le code dans un déclencheur de mise à jour pour maintenir le décompte/les totaux à jour.
  • Le problème avec la redondance dans les bases de données est que lorsque les nombres ne concordent pas, vous ne savez pas lequel fait autorité. Ajoutez à la documentation une note indiquant que les données source font autorité si elles ne sont pas d'accord et peuvent être écrasées.