我在mongo db文档中添加了一系列user_ids,每个文档都有一个与它们相关的数字,介于1和9之间。但它不一定是顺序的。那么将它添加到我的文档中更有意义:
{"4" => "user_id1", "7" => "user_id2"}
或
[nil, nil, nil, "user_id1", nil, nil, "user_id2"]
(知道有偏差)
我的感觉是,在资源和访问时间方面使用哈希更快,但使用数组更清晰,更具逻辑意义。
答案 0 :(得分:2)
如果使用数组更清晰且更符合逻辑那么你应该使用数组。
您只有九个条目,因此除非您处理数百万条记录,否则任何空间节省都将无关紧要。只有九个条目的速度差异也几乎无关紧要。
就优化(对于记忆或时间)而言,感受是没有价值的。您必须对系统进行概要分析(多次)以查看谁真正在咀嚼内存(或者是否确实存在明显的内存浪费)或浪费时间。分析的结果通常会让你和大师一样惊讶,因此警告:过早优化是所有邪恶的根源。总是从最自然的表现开始,这样你就可以变得干净,明智和工作代码:优化干净且有效的软件比调试大量复杂性要容易得多,这些复杂性试图解决不存在的问题。