ApexAdvancedsoqlperformanceselectivity
Optimize SOQL queries for selective filters and query performance
Real World Scenario
Query on Custom_Object__c with Status__c filter returns full table scan warning and times out in batch job.
Expected Answer
• Leading WHERE clause on indexed fields: Id, foreign keys, standard selective fields
• Custom indexes via Salesforce support for high-cardinality filter fields
• Avoid leading % wildcard LIKE queries on non-indexed text fields
• Use Query Plan tool to verify index usage before deployment
• Limit rows returned with LIMIT only after selective filter—not as substitute
• Relationship queries vs separate queries based on row volume and depth
• Consider formula field indexing limitations for filter fields
Follow-Up Questions & Answers
Click to expand — each follow-up includes a direct, interview-ready answer
Main difference: use case and scale. Leading WHERE clause on indexed fields: Id, foreign keys, standard selective fields. Custom indexes via Salesforce support for high-cardinality filter fields. Pick based on your integration pattern and team capability. Non-selective queries fail suddenly at LDV—performance test queries at projected volume, not current 10k rows. Optimize for scale and operational observability.
Architect Perspective
Non-selective queries fail suddenly at LDV—performance test queries at projected volume, not current 10k rows.