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?
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? – Bart Jan 19 '15 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. – Bradley Delaune Jan 19 '15 at 16:13
-
And if you aren't familiar with what "selective" means in the Salesforce query game, look here: help.salesforce.com/apex/… – user735 Jan 19 '15 at 17:02
-
This cheatsheet helps tremendesly when working with Large Data Voluume (LDV) objects in Salesforce.com - na1.salesforce.com/help/pdfs/en/… – CoryCowgill Jan 19 '15 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. – CoryCowgill Jan 19 '15 at 20:42