11.6. Choosing the Right Type for a Column
For optimum storage, you should try to use the most precise type
in all cases. For example, if an integer column is used for values
in the range from 1
to
99999
, MEDIUMINT UNSIGNED
is
the best type. Of the types that represent all the required
values, this type uses the least amount of storage.
All basic calculations (+,-,*,/
) with
DECIMAL
columns are done with precision of 65
decimal (base 10) digits. See
Section 11.1.1, “Overview of Numeric Types”.
Calculations on DECIMAL
values are performed
using double-precision operations. If accuracy is not too
important or if speed is the highest priority, the
DOUBLE
type may be good enough. For high
precision, you can always convert to a fixed-point type stored in
a BIGINT
. This allows you to do all
calculations with 64-bit integers and then convert results back to
floating-point values as necessary.