-
integer à null
bonjour,
Dans un soucis de performance et de maintenance , faut il laisser à null les valeurs entieres non utilisées ou les initialiser à une valeur précise (zero par exemple) ? dans un soucis de praticité des requêtes j'aurais tendance à pencher pour la deuxieme solution ?
-
Ca dépend essentiellement du fonctionnel de ton appli....
Si null n'est pas une valeur, sa présence est quand même porteuse d'information: le fait que justement aucune valeur n'a été affectée.
Dès lors c'est à toi de voir :wink:
A la limite, pour les colonnes qui te posent problème, tu peux résoudre à bon compte ton interrogation en les déclarant:
Code:
..... NOT NULL DEFAULT 0,
-
et en terme de performance est ce que cela a une importance ? la base est moins volumineuse avec des null qu' avec des zero ?
-
C'est pareil !
Cette question de taille n'est valable que pour des colonnes en VARCHAR.
Le seul point en suspend pourrait concerner la performance d'accès: l'indicateur NULL figure fatalement quelque part dans le catalogue de la base; le SGBD doit donc accéder à cette info ne serait ce que pour savoir s'il y a une "vraie" valeur à lire dans la table.
Ce surcoût n'existe pas dans le cas d'un DEFAULT puisqu'il y a toujours une valeur.
Mais on perd alors "l'origine" de ce 0: SGBD suite à NULL ? ou bien utilisateur ?