The slowdown usually comes from server-side data handling rather than the UI itself. Large SOQL queries, excessive serialization, and returning unnecessary fields all increase response time. On the client side, rendering large data structures or repeatedly re-rendering components also adds overhead.Read more
The slowdown usually comes from server-side data handling rather than the UI itself. Large SOQL queries, excessive serialization, and returning unnecessary fields all increase response time. On the client side, rendering large data structures or repeatedly re-rendering components also adds overhead.
Most teams solve this by limiting queried fields, adding pagination, caching results, and ensuring Apex methods are purpose-built for UI consumption.
Takeaway: LWC performance issues usually start in Apex, not JavaScript.
Why does my Flow fail when updating a record with “INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY”?
The Flow user doesn’t have access to the related record being updated. Problem Explanation Flows respect object- and record-level security unless run in system context. Root Cause(s) 1. Missing record sharing 2. Flow runs in user context 3. Lookup field references restricted record Step-by-Step SoluRead more
The Flow user doesn’t have access to the related record being updated.
Problem Explanation
Flows respect object- and record-level security unless run in system context.
Root Cause(s)
1. Missing record sharing
2. Flow runs in user context
3. Lookup field references restricted record
Step-by-Step Solution
1. Open Flow settings
2. Enable Run in System Context (without sharing)
3. Verify sharing rules on related object
Edge Cases & Variations
1. Screen Flows still respect field-level security
2. Managed package objects may restrict access
Common Mistakes to Avoid
1. Assuming system context ignores all security
2. Ignoring lookup object permissions
See lessHow do I fix “Too many SOQL queries: 101” in an Apex trigger?
Bulkify your trigger and move queries outside loops. Problem Explanation Salesforce enforces a governor limit of 100 SOQL queries per transaction. Queries inside loops multiply quickly and exceed this limit. Root Cause(s) 1. SOQL inside for loops 2. Multiple triggers on the same object 3. RecursiveRead more
Bulkify your trigger and move queries outside loops.
Problem Explanation
Salesforce enforces a governor limit of 100 SOQL queries per transaction. Queries inside loops multiply quickly and exceed this limit.
Root Cause(s)
1. SOQL inside
forloops2. Multiple triggers on the same object
3. Recursive trigger execution
Step-by-Step Solution
1. Collect record IDs into a
Set<Id>2. Run one SOQL query using
WHERE Id IN :idSet3. Store results in a
Map<Id, SObject>4. Access data from the map inside loops
Map<Id, Account> accMap = new Map<Id, Account>(
[SELECT Id, Name FROM Account WHERE Id IN :accIds]
);
Edge Cases & Variations
1. Use
Trigger.newMapin update triggers2. Watch for workflow or Flow-triggered recursion
Common Mistakes to Avoid
1. Querying per record
2. Ignoring recursion guards
3. Using
See lessLimits.getQueries()only for logging