Quand faut-il stocker des doubles? En supposant que vous lisiez les données d'un CSV de notation décimale (par exemple avec des valeurs telles que "5.03"), est-il sensé d'utiliser le type DOUBLE de mysql? Est-ce qu'il n'y aura pas d'erreurs d'arrondi inutiles?Dois-je stocker les doubles ou les décimales dans la base de données mysql?
3
A
Répondre
6
Vous devez utiliser les numéros double
lorsque vous avez besoin de stocker des nombres vraiment petits ou énormes. Quelque chose comme 9.837262 x 10^-567
. À part ça, j'utiliserais des types numériques à précision fixe pour éviter les erreurs d'arrondi que vous évoquez.
De nos jours, je ne vois pas de "gain d'espace" comme raison valable d'utiliser double
au lieu de valeurs numériques, mais il peut y avoir des scénarios très spéciaux où cette raison pourrait être valide.
+1. Dans le cas où il est utile à l'OP, il y a un peu de discussion ici: http://forums.mysql.com/read.php?10,146172,146172#msg-146172 – karim79
"économiser de l'espace" sera à un certain point traduire pour sauvegarder les E/S. mais ce n'est pas directement proportionnel et cela dépend de la taille des blocs dans le système de fichiers et de la taille (largeur) de l'enregistrement. Tant que la taille de l'enregistrement ne forcera pas le planificateur de requêtes à lire des blocs supplémentaires, vous ne percevrez aucune pénalité de performance. – Unreason