Maison > base de données > tutoriel mysql > le corps du texte

Dois-je m'en tenir à DOUBLE pour le stockage d'argent dans MySQL même si les experts recommandent DECIMAL ?

Susan Sarandon
Libérer: 2024-11-18 07:52:02
original
159 Les gens l'ont consulté

Should I Stick With DOUBLE for Money Storage in MySQL Even Though Experts Recommend DECIMAL?

DOUBLE vs. DECIMAL pour le stockage d'argent dans MySQL

Malgré de nombreux avertissements contre l'utilisation de DOUBLE pour les valeurs monétaires, un développeur a fait part de ses inquiétudes quant à l'optimisation d'un système existant avec 783 colonnes DOUBLE. Tout en reconnaissant les avantages de DECIMAL, le développeur a présenté trois raisons justifiant la poursuite de l'utilisation de DOUBLE :

  1. Aucun calcul de base de données n'est effectué ; toutes les opérations sont gérées en Java à l'aide de BigDecimal.
  2. La précision à 15 chiffres de DOUBLE est suffisante pour stocker des montants à 2 chiffres décimaux et des petits nombres à 8 chiffres décimaux.
  3. Six années de données de production montrent non problèmes liés à la précision.

Cependant, les experts soulignent que DOUBLE peut toujours introduire des arrondis erreurs, comme démontré en exécutant une requête telle que SELECT columnName * 1.000000000000000 FROM tableName. Ils soulignent l'importance d'éviter les calculs à virgule flottante lorsqu'on traite des données financières, que des opérations arithmétiques SQL soient ou non utilisées.

Même si l'impact des erreurs d'arrondi peut sembler négligeable, les experts recommandent d'utiliser DECIMAL pour stocker des données monétaires. valeurs. La précision et la fiabilité de DECIMAL offrent un niveau de confiance plus élevé dans l'exactitude des données financières.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal