I have a large table (10's of millions of records), I want to be able to filter reasonable quickly, can I create an index on a field to help speed up fitlering?
1 Answer
You can submit a Case through the Salesforce Success Community to have Salesforce index a field. Also, assigning a field as an ExternalId will index it.
EDIT: Found the documentation regarding External IDs: Working with Very Large SOQL Queries
-
will indexing the field in general make a different to report performance? is this the best thing to do to speed up filtering?– BartleyJan 19, 2015 at 16:11
-
1Yes, it will definitely improve performance for any selective query. I guess it depends on how you're doing your filtering, but typically indexing will always help performance. Jan 19, 2015 at 16:13
-
And if you aren't familiar with what "selective" means in the Salesforce query game, look here: help.salesforce.com/apex/…– user735Jan 19, 2015 at 17:02
-
This cheatsheet helps tremendesly when working with Large Data Voluume (LDV) objects in Salesforce.com - na1.salesforce.com/help/pdfs/en/… Jan 19, 2015 at 20:33
-
1This document is a must read also if you are dealing with LDV on Force.com. salesforce.com/docs/en/cce/ldv_deployments/… . It covers additional topics like Skinny Tables, etc which you often have to enable for LDV datasets. Jan 19, 2015 at 20:42