SAA Data Architecture & Management 3 — Questions and Answers
Question 1: A company's Salesforce org is experiencing slow page loads on the Account object with 10 million records. Which strategy most directly improves query performance without reducing record count?
- Enable field-level security on Account fields
- Create skinny tables on the Account object via Salesforce Support (Correct answer)
- Reduce the number of custom fields on Account
- Enable streaming API for Account changes
Correct answer: Create skinny tables on the Account object via Salesforce Support
Skinny tables contain a subset of fields and exclude soft-deleted records, enabling faster queries on large objects like Account.
Question 2: Which of the following is NOT a valid Salesforce data migration strategy?
- Insert records using Bulk API 2.0 in parallel batches
- Use ETL tools like Informatica Cloud to transform and load data
- Use SOQL queries to push data from source org to target org directly (Correct answer)
- Export CSV from source, transform, and load via Data Loader
Correct answer: Use SOQL queries to push data from source org to target org directly
SOQL is a query language for reading data within Salesforce and cannot directly push data to another org; data migration requires extract, transform, and load tools.
Question 3: A Salesforce architect needs to retain 10 years of transaction history for compliance without impacting org performance. What is the best solution?
- Store records in a custom object with an archival flag
- Use Big Objects to store historical transaction data (Correct answer)
- Archive data to an external database and delete from Salesforce
- Enable enhanced transaction security policies
Correct answer: Use Big Objects to store historical transaction data
Big Objects provide a scalable way to store billions of compliance records natively in Salesforce without affecting performance of standard objects.
Question 4: What happens when a record lock conflict occurs during a Salesforce DML operation in Apex?
- The transaction retries automatically three times
- A DmlException is thrown immediately (Correct answer)
- The record is placed in a retry queue
- Salesforce rolls back only the conflicting record
Correct answer: A DmlException is thrown immediately
When a record lock cannot be obtained, Salesforce throws a DmlException with the UNABLE_TO_LOCK_ROW error, and the entire transaction must handle the exception.
Question 5: Which field type in Salesforce is automatically indexed by the platform?
- Long Text Area
- Rich Text Area
- External ID fields (Correct answer)
- Formula fields returning a number
Correct answer: External ID fields
External ID fields are automatically indexed by Salesforce, which is why they are commonly used as upsert keys and in WHERE clause filters for performance.
Question 6: A company needs real-time data synchronization between Salesforce and an external ERP system. Both systems can initiate changes. Which integration pattern handles this best?
- Batch synchronization on a nightly schedule
- Publish-Subscribe using Platform Events in both directions (Correct answer)
- REST callouts from Apex on record save only
- Outbound Messaging with manual reconciliation
Correct answer: Publish-Subscribe using Platform Events in both directions
Platform Events support bidirectional, real-time event-driven integration, allowing both Salesforce and the ERP to publish and subscribe to changes.
Question 7: Which of the following is a key consideration when designing a data model with many-to-many relationships in Salesforce?
- Use a formula field to link the two objects
- Create a junction object with Master-Detail relationships to both parent objects (Correct answer)
- Use External Objects to represent the relationship
- Implement a polymorphic lookup to handle both sides
Correct answer: Create a junction object with Master-Detail relationships to both parent objects
A junction object with two Master-Detail relationships to the parent objects is the standard Salesforce pattern for implementing many-to-many relationships.
A company's Salesforce org is experiencing slow page loads on the Account object with 10 million records.
Which strategy most directly improves query performance without reducing record count?