Most AEM performance issues stem from inefficient query usage. This post explains when to use Query Builder vs SQL2, highlights common mistakes like missing indexes, fetching too much data, and running queries in loops, and provides practical best practices for optimized, scalable, and memory-safe queries in asset-heavy projects.
Best-practices
Field notes on AEM, Java, web development, performance, tooling, and the little fixes that save future-you an afternoon.
Most AEM performance issues stem from inefficient query usage. This post explains when to use Query Builder vs SQL2, highlights common mistakes like missing indexes, fetching too much data, and running queries in loops, and provides practical best practices for optimized, scalable, and memory-safe queries in asset-heavy projects.
Read featuredBrowse the archive
Latest Articles
When to close a ResourceResolver in AEM, when leaving it open is actually correct, and the resource-leak and session-reuse pitfalls that catch most developers.
Why path-based servlets are one of the biggest security risks in Adobe Experience Manager, how attackers discover and exploit them, and how to build secure resource-type servlets.