javascript - 使用 indexedDb 动态创建表
问题描述
在我的网络应用程序上,用户可以请求不同的数据线。这些数据线各有一个唯一的“statusID”,例如“18133”。当用户请求加载数据时,它要么从服务器加载,要么从 indexedDB 加载(我试图弄清楚的那部分)。为了使其尽可能快,我希望索引是数据的时间戳,因为我将请求小于 indexedDB 中实际数据的范围。但是,我试图弄清楚如何创建商店并正确存储数据。每次请求具有新 Id 的数据时,我都尝试动态创建商店,但只能在“onupradeneeded”中创建商店。我也想过把所有东西都放在同一个商店里,但我担心性能会变差。我现在真的不知道如何处理这件事。
我所知道的:如果您索引一个值,则意味着数据已排序,这正是我想要的。我不知道以下是否可行,但这也可以解决我的问题:将所有内容存储在同一个存储中,按“statusID”索引,按“时间戳”索引。这样,我猜它也会很快。
请注意,我说的是许多数据点,可能数百万。
解决方案
您可以按多个值进行索引,允许您通过 statusID 获取所有值并限制时间戳的范围。所以我会选择一个数据存储解决方案。性能应该不是问题。
这篇较早的帖子可能会有所帮助:Javascript:使用多个索引搜索 indexeddb
推荐阅读
- javascript - 在控制台中获取'无法读取未定义的属性'classList'
- java - 256位密钥的Java AES算法
- node.js - 为什么在 ORM 挂钩级别访问时,我的 Cls 挂钩当前上下文与以前的上下文相同?
- arrays - 比较和设置列表/数组中的对象的更好方法(前端角度 - 打字稿)?
- android - WebView 在 Android API 23 及以下版本中损坏
- python-3.x - 使用没有错误消息的 tkinter 时 SQLite Python 查询不起作用
- kdb - 序列化外键表如何在 kdb 内部工作
- amazon-web-services - CloudFormation:AWS Glue 分类器报价符号示例值
- linux - 如何将 shell 命令行参数映射到 READ 命令
- c - 我对 n*log(N) Big O 的样子很感兴趣