I am adding a custom field to my database. How do I know whether I should index this field or not?
Custom Field Indexing
A database index is a feature that improves the speed of data retrieval filtered on a specific database column at the cost of more expensive updates to the field. In general, a field that will be selected frequently and updated infrequently should be indexed.
For example, a custom field for a contact’s date of birth would be best to have indexed because their date of birth never changes, plus an index would help speed up queries where you filter on the date of birth.
Conversely, a field that will be updated frequently should not be indexed. For example, a custom field for a contact’s last login date should not be indexed, because the index would slow write operations and could cause unnecessary load if modifications were made many times a day.
For more information on the impacts of indexing custom fields please review Answer ID 1266: Impact of indexing a custom field