InputMatrix and ResultMatrix
These UI components are holding all the rows as their value and therefore all these rows are always transferred between Unity and the backend back and forth with every HTTP request. That is the reason why the performance decreases linearly with number of rows. So in reality they cannot store more than 50k rows otherwise the UI response is slow.
ResultPAQuery
ResultPAQuery result output holds the query, so Unity can ask which pages to retrieve. This performs very well since it transfers only 1 page at a time. So this would be the recommended option in case you are able to define the rows by query in analytics (so there are no calculated fields).