gpt4 book ai didi

javascript - IndexedDB 对象键 : does the size matter?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:35:31 26 4
gpt4 key购买 nike

我要将大量对象存储在 indexeddb 对象存储中。所有对象都具有相同的结构,类似于 {somekey: xxx, somevalue: yyy}

对象键的长度是否影响存储数据的大小?例如,如果我将结构更改为 {s: xxxx, v: yyyy},我是否应该期望当前浏览器在对象存储中的足迹更好?

我在标准的任何地方都找不到这方面的任何信息,所以我想这取决于浏览器的实现是否在内部使用字典,我想了解它目前是如何实现的,以及是否减少存储对象键的大小是值得优化的。

最佳答案

是的,它会影响它。但至少对于大小合理的键,一个字符与 10 或 20 个字符不会对性能产生任何影响,除非你的规模非常大(数百万条记录)。大多数实现(包括我可以代表的 chrome)确实存储了包括键名在内的完整对象,但索引只存储了一次“键路径”。

这意味着 {"foo": "bar"} 可能需要大约 12 个字节来存储(每个字符串大约 4 个字节加上一些类型信息开销,但是 "foo"上的后续索引将只存储 "巴兹”。

{"foobarbaz": "helloworld"} 可能需要大约 23 个字节来存储。实际上,我希望在大多数情况下您自己的数据应该超过 key 长度的开销,并且尝试缩短您的 key 以节省几个字节是不成熟的优化。

关于javascript - IndexedDB 对象键 : does the size matter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12365262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com