Salesforce creates skinny tables to contain frequently used fields and to avoid joins, and it keeps the skinny tables in sync with their source tables when the source tables are modified.
The considerations are as follows:
1. Skinny tables can contain a maximum of 100 columns.
2. Skinny tables cannot contain fields from other objects.