shadowayex Posted March 26, 2011 Share Posted March 26, 2011 I'm working on a project for a friend that requires we store some fractional numbers. It looks like that, for now, we'll only be storing numbers with one decimal place. There is a small possibility we will begin storing numbers with two places, but unless that makes a huge impact on what type I should use to store, I don't think it's that important.I've seen three types I could use for this: decimal, double, and float. I'm not too experienced in MySQL types, and I was wondering the advantages and disadvantages of each, and which would be good for my case. Link to comment Share on other sites More sharing options...
[dx] Posted March 26, 2011 Share Posted March 26, 2011 Try decimal. I'm using it. Works fine. Link to comment Share on other sites More sharing options...
boen_robot Posted March 26, 2011 Share Posted March 26, 2011 According to the MySQL manual on datatype storage requirements and the numeric data type descriptions, a FLOAT can describe any approximate number that can fit in 4 bytes (assuming the whole part is 1 digit, that's at most 24 decimal digits). DOUBLE is, as you may guess, double that (8 bytes; assuming the whole part is 1 digit, up to 53 decimal digits).DECIMAL is a little different (with NUMERIC being a synonym for it). In it, you must explicitly specify the maximum number of digits in total and the maximum precision of the decimal parts, and the value will take the least amount of however bytes are necesary to deliver that precision. Naturally, because there's compression, decompression and casting happening all over, calculations with such values are slightly slower (insignificantly, mind you).So, if precision of calculations is vital (e.g. if you're dealing with money), use DECIMAL. If small storage and speed in calculation is more important than a minor loss of precision during calculations (the storage itself is till going to contain the value specified), use FLOAT or DOUBLE, depending on the maximum values desired. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.