使用 indexedDb 动态创建表

Dynamically creating tables with indexedDb

在我的网络应用程序上,用户可以请求不同的数据线。这些数据线各有一个唯一的 "statusID",例如“18133”。当用户请求加载数据时,它要么从服务器加载,要么从 indexedDB(我试图弄清楚那部分)加载。为了尽可能快,我希望索引是数据的时间戳,因为我将请求比 indexedDB 中的实际数据更小的范围。但是,我正在尝试弄清楚如何正确创建商店和存储数据。每次请求具有新 Id 的数据时,我都尝试动态创建商店,但创建商店只能在 "onupradeneeded" 中进行。我也考虑过将所有东西都存储在同一个商店中,但我担心性能会变得很糟糕。我现在真的不知道怎么处理这件事。

我所知道的:如果你索引一个值,就意味着数据是排序的,这正是我想要的。我不知道以下是否可行,但这也可以解决我的问题:将所有内容存储在同一家商店中,按 "statusID" 索引并按 "timestamp" 索引。这样,我想它也会很快。

请注意,我说的是很多数据点,可能有数百万。

可以 索引多个值,允许您通过 statusID 获取所有值并将时间戳限制在一个范围内。所以我会选择单一数据存储解决方案。性能应该不是问题。

前面的 post 可能会有帮助:Javascript: Searching indexeddb using multiple indexes