Hello Anwar,
That is very reasonable question.
Usually all properties except the navigational properties are part of the default fetch group which means than when you retrieve an entity from the DB all of the domain class' properties will result in a column in the select statement.
This could lead to the following implications:
1. If you have nvarchar(max) columns that are not needed they will be retrieved from the DB and as SQL server stores them separately from the other data in the table this could slow down the select statement
2. When you have a wider result set this means more data and more time for network transfer from the server to the client.
3. Telerik Data Access retrieved all data for all properties but only the accessed properties lead to actual value materialization, so it is not expected to have significant performance impact in case you have a lot more properties than the needed.
4. Bigger entities consume more memory and thus the GC will have more work to free it. Under heavy load this could lead to serious performance problems. In some edge cases your application can be more than 90% busy with garbage collection.
5. In case you use the Second Level cache then you will fill you memory with a lot useless information.
In conclusion I can suggest you as best practice always to use the minimal needed properties as this can decrease the chance of bigger issues in the future.
Regards,
Kaloyan Nikolov
Telerik
OpenAccess ORM is now
Telerik Data Access. For more information on the new names, please, check out the
Telerik Product Map.