|Summary:||This is an informative article describing how the database structure for Microsoft Dynamics CRM 2013 has been updated.|
|Article Type:||Information / Support|
|Related Product(s):||This article relates to the following products:
What has changed?
In Microsoft Dynamics CRM 2011, most of the entities have two SQL tables.
The first table, called xxxxBase, contained all the of the out-of-box fields. The second table, called xxxxExtension, held all of the custom fields.
Now the guys at Microsoft have been reviewing the Microsoft Dynamics CRM database structure and have found Dynamics CRM is more efficient if they combine these two tables together in to one.
Why change this now?
In earlier versions of SQL server, there were restrictions on how many fields you could have in one table. The workaround for this was to split the fields in to two tables.
Now, SQL is capable of holding many fields in one table so therefore it is no longer necessary to have the 2 tables.
What are the benefits?
A good database structure helps improve performance. As there are now less tables in the database, there are fewer SQL errors caused due to conflicts in accessing database.
A variety of scenarios have been tested and in each case, an increase in performance has been noted.
Will anything break?
Although not supported by Microsoft, any custom code that references the old tables may not work.
You will need to update these references so they match the new tables, or better still use the Microsoft SDK.
How do I update my tables?
The tables will be merged as part of the upgrade so you do not have to do anything. However, it is possible to defer the merge until after the upgrade.
Should I defer the merge until after the upgrade?
If you database is 15GB or over then it is recommend that you defer your merge until after the upgrade.
If you don’t then it could take several hours to upgrade. Please refer to documentation on how to defer the merge.