How to Improve Power Apps Canvas App Performance with Large SharePoint Lists
A Power Apps canvas app uses a SharePoint list as a data source. Users report that the app is slow when loading data. The list has 10,000 items. Which optimization should you recommend?
Quick Answer
The correct answer is to use delegable filters like Filter() with indexed columns to limit data retrieved. This optimization works because delegable queries shift the data processing to the SharePoint server, ensuring only matching records are sent to the app rather than pulling all 10,000 items locally, which is the root cause of the slowness. On the PL-900 exam, this tests your understanding of delegation as a core performance concept for canvas apps connected to large data sources like SharePoint lists. A common trap is assuming that increasing the data row limit or adding more columns will help, but these actually worsen performance when queries are non-delegable. Remember the key rule: to improve Power Apps canvas app performance with large SharePoint lists, always filter on indexed columns using delegable functions. Memory tip: “Delegate to the server, don’t drag the whole list.”
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use delegable filters like Filter() with indexed columns to limit data retrieved
Delegable filters such as Filter() with indexed columns allow Power Apps to push filtering to the data source (SharePoint), reducing the amount of data retrieved and improving performance. Option A is incorrect because reducing columns has minimal impact on the amount of data loaded, and delegable queries are more effective. Option B is incorrect because increasing the data row limit for non-delegable queries only affects the number of records displayed, not the data retrieved from SharePoint; the query still fetches all 10,000 items. Option C is incorrect because moving to SQL and using Power Automate introduces additional complexity and potential latency, and is not the most direct optimization for a SharePoint data source.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Reduce the number of columns in the SharePoint list
Why it's wrong here
Incorrect: While reducing columns helps, the main issue is delegable filtering.
- ✗
Increase the data row limit for non-delegable queries to 2000
Why it's wrong here
Incorrect: Non-delegable queries still retrieve all items; increasing limit makes it worse.
- ✗
Move the data to a SQL database and connect via Power Automate
Why it's wrong here
Incorrect: This adds complexity; SharePoint delegation can be optimized directly.
- ✓
Use delegable filters like Filter() with indexed columns to limit data retrieved
Why this is correct
Correct: Delegable queries process on the server, reducing data transferred.
Go deeper
Related to this question
About these practice questions
One of 904 original PL-900 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
Same concept, more angles
1 more way this is tested on PL-900
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A Power Apps canvas app uses a SharePoint list as its data source. Users report that the app is slow to load when the list contains over 10,000 items. What is the best approach to improve performance?
medium- A.Increase the data row limit in the app settings.
- B.Switch to a Microsoft Dataverse data source.
- C.Reduce the number of columns in the SharePoint list.
- ✓ D.Use delegation-compatible functions and filters in the app.
Why D: Delegation allows queries to be processed on the data source side, reducing the amount of data transferred and improving performance. Option D is correct because delegation-compatible functions (e.g., Filter, LookUp) ensure only relevant data is retrieved. Option A is wrong because increasing the data row limit loads more data, worsening performance. Option B is wrong because switching to Dataverse might help but is not the best approach—it requires migration and may not always be feasible. Option C is wrong because reducing columns only marginally reduces data size, but without delegation, performance issues persist due to large row counts.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This PL-900 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PL-900 exam.