2011-03-30 107 views
0

现在我有一个包含展示次数,点击次数和ctr的表格。float vs smallint vs mysql中的小数点

我想知道如果我应该使用TINYINT(1),并存储CTR具有从1-250

的范围或者应该将其存储为具有更精确的浮子。或者可能是小数。

对于统计数据,我会使用点击/展示来计算ctr,因此获得精确的值不是问题。

但是对于性能来说,最好的存储方式是什么。

回答

1

如果您使用php根据您的mysql数据计算点击率,那么没有理由使用浮点数或小数点 - 只需使用tinyint即可。

但是,如果您希望将CTR存储在数据库中,那么请使用浮点数 - 它就像是小数点的小数点。

+0

我打算经常使用ctr,你认为精度值得表现。 – Vish 2011-03-30 23:06:39

+0

说实话,我无法想象你必须使用的音量才能发挥很大的作用。我会使用“正确的”(float),直到/除非你真的注意到性能问题。即使你的表格超过了几百万条记录,我怀疑你会发现任何性能问题,假设你的php写得很好。 – Dave 2011-03-30 23:11:08

+0

我有大约500万条记录 – Vish 2011-03-30 23:13:20

0

如果你不担心小数,tinyint肯定会比float更高效。