一个简单的问题。
创建IndexedDB并指定特定keyPath
时,是否仍需要使用相同的密钥创建和索引?
我认为keyPath
本身就是一个索引,但我不知道并且找不到任何有关它的信息。
编辑:好的,澄清,我的意思是,你是否通过keyPath获得了索引的性能优势?
答案 0 :(得分:3)
它在技术上并没有创建索引,但它基本上是相同的。数据库中的每个对象都与一个键相关联。如果设置了密钥路径,则密钥是密钥路径评估的任何密钥。然后,您可以查询该密钥(例如IDBObjectStore.get
),无需索引。
当您希望有效地在数据库中查询除密钥之外的其他内容时,索引才会发挥作用。
因此,您的问题的答案是否定的,您不需要使用相同的密钥创建索引。