我有一个包含大约 3000 个 bson 对象的切片。每个对象都有一些嵌套映射,一个对象的平均大小为4 kb. 在我的代码中,我必须能够uid尽可能快地根据它们的字段检索这些对象。我最初的计划是编写一个函数来简单地循环遍历原始切片并检查匹配,uid例如object["uid"] == uidToFind. 但是现在我相信最好创建一个大映射,其中键使用uid字段而值使用相应的对象,就像这样:
m := make(map[string]bson.M) m["sample_UID_0"] = bsonObjects[0] m["sample_UID_1"] = bsonObjects[1] //... continue with the remaining 3000 objects...
我的问题是,我是否应该支持这种解决方案而不是每次都循环遍历原始切片?由于我没有数百万个对象,因此我认为将重要内容保存在一个全局可用的映射中并简单地访问它们m["sample_UID"]而不是总是遍历整个切片是一个更好的主意。
交互式爱情
心有法竹
随时随地看视频慕课网APP
相关分类