Tag Archives: Salesforce Tips & Tricks

Difference between Custom Objects and Custom Settings

Custom Objects:

  • Custom Objects are custom database tables that allow to store information to your organization.
  • All Custom field types supported.
  • Records are updated by users.
  • Data stored in database.
  • Requires lookup or master-detail relationship to reference from another object.
  • Counts against cross-object reference limit when used in formulas.
  • Custom Objects are SOQL expensive.
  • We can use Page layouts, record types, validation rules, triggers and workflow rules on Custom Objects.

Custom Settings:

  • Custom Settings are similar to Custom Objects and enable application developers to create custom sets of data, as well as create and associate custom data for an organization, profile, or specific user. We can say Custom Settings are like configuration file that we used to have.
  • Custom Settings support only Checkbox, Currency, Date, Date/Time, Email, Number, Percent, Phone, Text, Text Area, and URL field types.
  • Records are updated by admins or developers.
  • Cached in memory (limited to 2mb).
  • No relationship field required.
  • Not a cross-object reference.
  • Custom Settings are SOQL inexpensive.
  • No Page layouts, record types, validation rules, triggers and workflow rules can be used on Custom Settings.

Difference Between Role & Profile in Salesforce


  • A Profile is a collection of settings and permissions that controls the user what they have to do in the application and with access what they have.
  • A profile controls “Object permissions, Field permissions, User permissions, Tab settings, App settings, Apex class access, Visualforce page access, Page layouts, Record Types, Login hours & Login IP ranges.
  • Defining profile for a user is mandatory.


  • A role controls the level of visibility that users have into your organization’s data. Mainly is going to provide the record level security.
  • Users at any given role level can view, edit, and report on all data owned by or shared with users below them in the hierarchy, unless your organization’s sharing model for an object specifies otherwise.
  • It is not mandatory that a user should have a role.