我正在使用MongoDB数据库,到目前为止,我已经将一些信息存储为数字而不是字符串,因为我认为这样做会更有效。例如,我存储遵循ISO 3166-1 numeric的国家/地区和遵循ISO/IEC 5218的性别。但是到目前为止,我还没有找到类似的语言标准,ISO 639似乎没有匹配的数字代码列表。
正确的方法是什么?我应该只使用字符串代码吗?
谢谢!
最佳答案
如果您追求原始性能和/或想要获得非常小的数据量,我建议您使用IOC ISO-639-1/2中的三个字母(较高的粒度)或两个字母(较低的粒度)代码。
据我所知,在我所知道的任何编程语言中都没有内置该标准的帮助程序或任何工具,因此您需要构建自己的转换器(代码全名),但这应该是微不足道的。
正如其他人已经提到的那样,您必须自己评估与之相关的成本(例如,无法简单地查看数据并立即对其进行理解)。我个人确实建议保持数据大小较小,因为BSON解析和字符串操作与处理数字(或处理较短的字符串)相比非常昂贵。当处理小的数据集时,这不会产生明显的变化。但是,如果您需要翻阅数百万个文档,或者像这样的更多优化可能成为关键任务。