SF-Data-Arch Salesforce Data Management Practice Question
Universal Containers has a custom object Invoice__c with 8 million records. Users report that list views and reports filtering on the Invoice_Status__c picklist field are slow. The field is not indexed. What should the data architect do to improve query performance?
⚠ Common exam trap
The trap here is assuming that enabling a field for reports or converting its type will improve performance, when only an explicit custom index changes the query execution plan.
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 the Invoice_Status__c field.
Custom indexes are the standard mechanism to improve query performance on large custom objects when filtering on a custom field. Because Invoice_Status__c is not indexed, queries perform full table scans across 8 million records. Requesting a custom index on that field allows the database to quickly locate matching rows, improving list view and report responsiveness without altering the data model or field type.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Create a custom index on the Invoice_Status__c field.
Why this is correct
Salesforce allows a custom index on a custom field via the field definition, which can significantly improve query performance for filters and list views. For an 8 million record object, filtering on an unindexed picklist forces a full table scan, so adding a custom index is the appropriate optimization. This directly addresses the slow list views and reports without changing data model.
- ✗
Convert the picklist to a text field and enable indexing.
Why it's wrong here
Converting the picklist to text does not automatically index it, and text fields are not indexed by default. You would still need to request a custom index separately. This change also risks data integrity and requires data migration, making it a poor choice compared to simply adding an index to the existing picklist.
- ✗
Enable the 'Allow Reports' setting on the field.
Why it's wrong here
The 'Allow Reports' setting only controls whether the field can be used in report filters and columns; it does not create an index or improve query performance. Enabling it on an already-used field changes nothing about how the database executes queries. It is unrelated to the slow performance caused by lack of indexing.
- ✗
Create a formula field that returns the picklist value and filter on that instead.
Why it's wrong here
Formula fields are not indexed and cannot be used as filter criteria in list views or reports for large data volumes; they are calculated at query time. Introducing a formula field would likely worsen performance because it adds computation and cannot leverage an index. It does not solve the underlying full-table-scan issue.
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.