This one made me happy - such a simple fix - I wonder if it will hold.
Situation: A Power Apps application built on a SharePoint list exceeding 500,000 records was experiencing app load times of 60+ seconds, degrading usability for a large (2,000+) user base.
Task: Diagnose and resolve the performance bottleneck without introducing premium licensing costs, which were cost-prohibitive at that user scale.
Action: Used Power Apps Monitor to trace network calls at the API level, uncovering that a compound filter on two indexed SharePoint columns was seeding its query from the wrong index — forcing SharePoint to page through the list in ~5,000-row chunks, issuing 100+ sequential API calls (most returning zero matching rows) before returning a result. Reordered the filter's condition sequence so the query seeded from the more selective indexed column instead.
Result: Reduced the query from 100+ API calls (~25 seconds of network time) to 1 call (~200ms) — a 99%+ reduction in query time, cutting overall app load time from 60+ seconds to near-instant, with zero schema changes and no added infrastructure cost.
Before:
Filter(
'MyList',
TextColumn = varID,
DateColumn >= Today(),
DateColumn < DateAdd(Today(), 1, Days)
)
// Result: 100+ sequential API calls, ~25s
After:
Filter(
'MyList',
DateColumn >= Today(),
DateColumn < DateAdd(Today(), 1, Days),
TextColumn = varID
)
// Result: 1 API call, ~200ms