SF-Data-Arch Large Data Volume Considerations Practice Question
A custom object named Invoice__c contains 15 million records. Reports and list views frequently filter on a custom date field, Invoice_Date__c, and are timing out. The field is not indexed. Which action should a data architect take to improve query performance while keeping the field available for filtering?
⚠ Common exam trap
The trap here is assuming that any frequently filtered field is automatically indexed or that a formula field can substitute for an index.
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
✓
Create a custom index on Invoice_Date__c because it is used as a filter condition.
For large data volumes, selective queries require indexed filter fields. Requesting a custom index on a frequently filtered custom date field enables the query optimizer to use the index and avoid full table scans. This directly addresses the report and list view timeouts without changing the data model or introducing external dependencies.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Add a formula field that returns the value of Invoice_Date__c and filter on it instead.
Why it's wrong here
Formula fields are not indexed and cannot be used as the sole filter in a selective query. Filtering on a formula field would still force a full table scan, making performance worse. The original date field should be indexed rather than wrapped in a formula.
- ✗
Convert Invoice_Date__c to an external lookup field using Salesforce Connect.
Why it's wrong here
External lookup fields are used to relate Salesforce records to external data sources, not to index a local date field. This would not improve filtering on Invoice_Date__c and would introduce integration complexity. The field would still lack an index, so reports and list views would remain slow.
- ✗
Enable Divisions on the Invoice__c object to partition the data.
Why it's wrong here
Divisions are used to partition data for reporting and security by business unit, not to index a date field for query performance. Enabling Divisions does not create an index on Invoice_Date__c and would not resolve the full table scans causing timeouts.
- ✓
Create a custom index on Invoice_Date__c because it is used as a filter condition.
Why this is correct
A custom index can be requested on a custom field that is frequently used in filter conditions. For an object with millions of records, indexing Invoice_Date__c allows the query optimizer to avoid a full table scan, reducing report and list view timeouts. This is the appropriate declarative performance tuning step for LDV scenarios.
About these practice questions
One of 222 original SF-Data-Arch 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 →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Salesforce exam blueprint
This SF-Data-Arch practice question is part of Courseiva's free Salesforce 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 SF-Data-Arch exam.