Providing numbers is always hard since it heavily depends on the usecase so let me try to expand on this qualitatively instead. I’ve explained how the JSON API updates the database in Is it possible to estimate growth of the JSON API query store as the ledger itself grows? - #6 by cocreature.
Based on that, you can see that for follow-up queries the performance depends on the number of events in the transactions between the last query and current ledger end so roughly the delta between the last ACS and the current ACS. So if you have a large ACS and relatively small changes, the database backend buys you quite a bit of performance since the JSON API won’t request the entire ACS on every query. You can in principle construct cases where you have very small ACS sizes and the ACS changes completely frequently where the query backend performs worse but in practice we haven’t seen that become an issue so far.