|The following are the items that can help improve the performance. Basically, It could be suggested that you try testing with the order below. The combination of "3. Two-Column Index" and "4. Embedded Visualforce Page with Extension Controller" should be very effective (implementing only "Two-Column Index" may be enough for some cases).
1. Separate Loading
- By checking the "Enable Separate Loading of Related Lists", a detailed record is displayed first and then its Related Lists are loaded.
2. Reducing Data Amount
2-1. Reducing Related List
- If some of Related Lists are not used so often by end users, please consider removing these Related Lists or replacing them with custom links to these pages.
- Please consider minimizing the number of displayed fields on each Related List.
2-2. Reducing Record
3. Two-Column Index
- Please reduce the number of records in Objects used in Related Lists. As a best practice, 10K is a threshold.
- If you delete large number of records, please make sure the followings:
- After the soft delete, please empty the Recycle Bin. Otherwise, it can still affect the performance.
- After emptying the Recycle Bin, please log a Case with SFDC Support to run “Physical Delete”.
4. Embedded Visualforce Page with Extension Controller
- Two-Column Index is useful when you constantly query with two filters or running List Views / Related Lists where the first column is always a filter and the second column is used for sorting.
- Please make sure that the first column in the index should be the one being filtered upon and not the one that is being sorted on.
- By using embedded Visualforce pages instead of standard Related Lists which have a lot of records, you can get the following benefits
- You can specify an additional filter condition in a SOQL in an Extension Controller, which is used in a Visualforce page. This field should be the second field in the Two-Column index that you have created and be used in the Order By clause in the same SOQL.
- You can specify how many records are transferred to the browser with the “LIMIT” keyword in the SOQL. In order to allow users to see all the relevant records, you can add a custom link.
5. Re-loading Records in Related List
- If the performance is still not acceptable for specific Accounts, exporting and importing records of the specific Accounts in the relevant Related List Objects could help improve the performance.