Since the issue occurs only for one user role, while other roles load the same page immediately, I would investigate entity access/XPath constraints for that role first, rather than the Data Grid itself.
After the Mendix 8 → 9 upgrade, the generated database queries may differ, and a complex access rule can become much more expensive when retrieving ~3,000 objects.
I would check:
The strongest clue here is:
Same entity + same page + same database + different role = very different performance.
That makes role-specific entity access/security constraints a strong candidate.
Please accept this solution if it helps
Likely cause: Entity access (XPath) constraints, not the widgets themselves.
Studio Pro 9 enforces module role XPath constraints on entity access more strictly than 8.x — especially constraints that reference associated entities. Since the slowdown is role-specific, check whether that one role has an XPath constraint on the entity (or its associations) that other roles don't have (admin often bypasses it).
To confirm & fix:
[Association/Entity/Attribute = ...]), that's your culprit — Mendix 9 wraps this in a subquery that often can't use your existing index.com.mendix.core → Trace/Debug or use the Performance tab in Studio Pro / runtime logs) to capture the actual generated SQL for that role and compare it against another role — this will show exactly where the extra JOIN/subquery is coming from.This pattern (role-specific slowness after 8→9 upgrade with Data Grid/List View) is a commonly reported regression tied to XPath-based entity access, not a widget/pagination issue — your indexing and pagination setup is already correct.