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 it seems that all queries are re-run when changes happen, which can be very slow both locally and result in additional queries to the remote server (in the case of AutoFetchCollection).
RxDB implements an Event Reduce algorithm that updates query results based on database change events, which is more optimal. This will allow much more expensive and long persisted remote queries in AutoFetchCollection (since they don't have to be re-run all the time), and presumably more efficient reactivity updates internally too.
The text was updated successfully, but these errors were encountered:
beorn
changed the title
feat: Support Event-Reduce to optimize reactive queries
feat: Optimize reactive queries based on change streams (use EventReduce?)
Oct 9, 2024
beorn
changed the title
feat: Optimize reactive queries based on change streams (use EventReduce?)
feat: Optimize reactive queries - tweak query results based change streams instead of re-running them (use EventReduce?)
Oct 9, 2024
Good idea! PR appreciated!
For the AutoFetchCollection it wouldn't change that much, as queries only being registered at the first run and unregistered when the reactive scope is disposed. Reruns of queries shouldn't trigger a new registering/fetching from the server.
Currently it seems that all queries are re-run when changes happen, which can be very slow both locally and result in additional queries to the remote server (in the case of AutoFetchCollection).
RxDB implements an Event Reduce algorithm that updates query results based on database change events, which is more optimal. This will allow much more expensive and long persisted remote queries in AutoFetchCollection (since they don't have to be re-run all the time), and presumably more efficient reactivity updates internally too.
The text was updated successfully, but these errors were encountered: