我创建了一个包含许多十进制值的数据库,并将它们全部存储为varchar(11),因此我遇到了"order-by“问题,并临时修复了"cast as”问题。我应该使用decimal(3,8)而不是varchar(11) =>吗?我的意思是,如果我做了这样的更改,我的服务器会更快吗,还是没有什么不同?
另外-在php方面,我的varchar值进行了大量的计算。
发布于 2013-07-26 03:11:22
我更喜欢使用decimal而不是varchar。它会更快!
发布于 2013-07-26 03:28:43
MySQL喜欢数值采用类似INT或DECIMAL的格式,以简化数学函数和排序,而不必重复强制转换。
切换列类型并让MySQL为您重新转换所有值可能是一个好主意。只需确保在将其应用于生产数据之前对其进行测试。
PHP实际上并不关心字符串和数字之间的区别,它会根据需要为您转换。
发布于 2013-07-26 03:39:33
我会用小数..。一直都是。除非您有字母和数值,否则请使用decimal。这不仅更快,而且在完整性方面也被认为是更好的。
快乐编码
https://stackoverflow.com/questions/17866718
复制相似问题