sql >> Databasteknik >  >> RDS >> Mysql

Ska jag lagra ett fält PRICE som en int eller som en float i databasen?

Intressant fråga.

Jag skulle faktiskt inte välja float i mysql-miljön. För många problem i det förflutna med precision med den datatypen.

För mig skulle valet stå mellan int och decimal(18,4) .

Jag har sett exempel från verkliga heltal som används för att representera flyttalsvärden. Det interna i JD Edwards datatabeller gör alla detta. Kvantiteter delas vanligtvis med 10 000. Även om jag är säker på att det är snabbare och mindre i tabellen betyder det bara att vi alltid måste CASTA ints till ett decimalvärde om vi vill göra något med dem, särskilt division.

Ur ett programmeringsperspektiv skulle jag alltid föredra att arbeta med decimal för pris ( eller money i RDBMS som stöder det ).



  1. mysql export sql dump alfabetiskt, vilket orsakar begränsningar av främmande nyckel under import

  2. mysql:mycket enkelt SELECT id ORDER BY LIMIT kommer inte att använda INDEX som förväntat (?!)

  3. hur väljer man max för blandad sträng/int kolumn?

  4. Kan jag använda VARCHAR som PRIMÄRNYCKEL?