IndexedDB - keyPath已经是索引吗?

时间:2015-08-09 20:37:21

标签: indexeddb

一个简单的问题。

创建IndexedDB并指定特定keyPath时,是否仍需要使用相同的密钥创建和索引?

我认为keyPath本身就是一个索引,但我不知道并且找不到任何有关它的信息。

编辑:好的,澄清,我的意思是,你是否通过keyPath获得了索引的性能优势?

1 个答案:

答案 0 :(得分:3)

它在技术上并没有创建索引,但它基本上是相同的。数据库中的每个对象都与一个键相关联。如果设置了密钥路径,则密钥是密钥路径评估的任何密钥。然后,您可以查询该密钥(例如IDBObjectStore.get),无需索引。

当您希望有效地在数据库中查询除密钥之外的其他内容时,索引才会发挥作用。

因此,您的问题的答案是否定的,您不需要使用相同的密钥创建索引。