Using the Lightning data service
Using the Lightning data service significantly improves performance. The Lightning data service provides access to the single record data and performs DML on the data. The service also has a baked-in security configured by the Salesforce administrators of the platform. Consider leveraging this for a single record. Obviously, for the list of data, you will need to use the custom Apex class with an SOQL to fetch data.
Note that you can lazy load the forceRecord
 component, using the $A.createComponent()
. A good example would be when a user sees a list of records and clicks a single record. You can use $A.createComponent()
to inject the Lightning data service component force:recordData
dynamically and then, once the modal is closed, destroy the component.Â