在MySQL中使用default null或default ""用于文本字段更好吗?
为什么?
更新:我知道他们每个人的意义.我感兴趣的是考虑磁盘空间和性能更好.
更新2:嘿ppl!问题是"什么是更好用"而不是"每个意味着什么"或"如何检查它们"......
因此,我打算制作一个应用程序(PHP/MySQL),它可以节省大量资金,我正在考虑如何存储和操作钱,参考PHP浮点数据类型和MySQL十进制.
我在考虑两种选择.其中之一是以整数分钱格式($ dollar*100)操作和存储货币,以便不处理浮动预处理并将其作为整数存储在DB中.另一个是以DB为单位存储在十进制中,并在PHP中使用BC Math进行计算.
所以我一整天都在谷歌搜索哪个是最好的选择,并没有找到明确的答案.我见过的唯一合理的选择是整数美分(我不喜欢它,因为它意味着在浏览器中的每次显示之前以及存储在数据库之前,很多都会从美元转换为美分和反之亦然).
此外,人们抱怨MySQL十进制(MySQL将小数存储为字符串,将它们作为浮点数等操作),但那是旧帖子.根据MySQL文档,当前版本正确处理小数,唯一的抱怨是它截断超过声明的分数长度的值的分数(例如,如果在声明为十进制的列(9,2)中存储值12.326) ,但是从我的调查来看,它不仅仅是截断(12.326变为12.33),这在我看来是正确的.
并且,我没有找到任何关于将钱存储为小数并使用PHP BCMath进行计算的建议,并且在我看来这是因为很少有人知道BC和GMP数学函数.
那么,考虑到精度,速度(BCMath计算速度,MySQL十进制速度与整数)和编程舒适度,最佳选择是什么?
你如何限制Ruby中String#gsub所做的替换次数?
在PHP中,这可以通过preg_replace轻松完成,它带有一个限制替换的参数,但我无法弄清楚如何在Ruby中执行此操作.
我知道Iconv用于转换字符串的编码.根据我的理解,Kconv也是出于同样的目的(我错了吗?).
我的问题是:它们之间有什么区别,我应该用什么来编码转换.
btw发现了一些信息,即Iconv将从1.9.3版本弃用.
我是Rails的新手,我需要在应用程序中实现国际化.直到现在我查看了r18n-rails,globalize3和gettext_i18n_rails.
我必须将模板文本与一些数据库数据(一些类别作为示例)国际化.
我喜欢gettext_i18n_rails与模板文本一起使用的方式,但它没有为DB数据提供任何解决方案(或者它是什么?).从另一方面来看,r18n-rails和globalize3似乎可以完成DB数据的工作,但不能用于模板.起初我想把它们组合起来(globalize或r18n + gettext_i18n_rails),但这可能是一个好主意,特别是如果这将是一个大项目.
所以我的问题是:
考虑到模板文本+ DB文本+项目大小,Rails 3的最佳I18n方法是什么?