Improve the performance of fetching event reports over the admin API when there are many of them and the requester has paginated far down the list. #16620
General idea: defer the join to events until after the offset has been applied. It's hard to get an unbiased measurement for this, but the old query took ~3s and the new query took ~500ms for a given query (identical results).
It'd be nicer to add proper indices and defer the other join too (and even change the pagination scheme to not use OFFSET), but this is all I had for a drive-by improvement.
Base: develop
Original commit schedule, with full messages:
Improve performance of fetching event reports when there are many of them
Partial fix to #16619
General idea: defer the join to
events
until after the offset has been applied. It's hard to get an unbiased measurement for this, but the old query took ~3s and the new query took ~500ms for a given query (identical results).It'd be nicer to add proper indices and defer the other join too (and even change the pagination scheme to not use OFFSET), but this is all I had for a drive-by improvement.
Base:
develop
Original commit schedule, with full messages: