You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the only way to query a set of individual rows by key is to use repeated calls to get or getAll. We have some use cases where we want to query many keys with one row each (e.g. the equivalent of SQL WHERE id IN (1,3,9,...)), where the event loop potentially adds quite a bit of overhead.
Another option would be to add a batch method for get and/or getAll, for example:
Which would return an array of arrays corresponding to the input array.
The Chrome team did some internal prototyping and found that in the best case (1 row per key) there is potential for a 3x speedup over mutliple parallel getAll calls. That hasn't been proven in real world use cases yet and it's unclear if other browsers would see the same improvements, but that would be a significant speedup that can't be replicated with the current APIs.
The text was updated successfully, but these errors were encountered:
The test I'm referring to used a single transaction with N getAll requests in parallel vs 1 prototype batchGetAll call with N ranges. N=100 to N=100k were tested.
TPAC 2024: We agreed this proposal makes sense. Much [like getAllEntries()])#206 (comment)), reading more data in a single IDBRequest could maybe reduce event loop overhead to improve performance. We may want to relax the ordering of the results to provide some implementation flexibility which could enable browsers to optimize.
Currently the only way to query a set of individual rows by key is to use repeated calls to
get
orgetAll
. We have some use cases where we want to query many keys with one row each (e.g. the equivalent of SQLWHERE id IN (1,3,9,...)
), where the event loop potentially adds quite a bit of overhead.Another option would be to add a batch method for
get
and/orgetAll
, for example:Which would return an array of arrays corresponding to the input array.
The Chrome team did some internal prototyping and found that in the best case (1 row per key) there is potential for a 3x speedup over mutliple parallel getAll calls. That hasn't been proven in real world use cases yet and it's unclear if other browsers would see the same improvements, but that would be a significant speedup that can't be replicated with the current APIs.
The text was updated successfully, but these errors were encountered: