The Links table
Sitecore maintains a database table called Links.The Links table stores all links between individual items across databases (Core, Master, Web) and language versions.
Sitecore updates this table based on events that are triggered when actions on items (item:copied, item:deleted, item:saved, item:versionRemoved) are triggered.
There are two implementations of the database provider for this table:
-
Sitecore.Links.DefaultLinkDatabase, Sitecore Kernel (the default)
You can specify in which databases the links are stored. By default, each database stores its own links. It is possible to change which databases are used to store links by enabling
Sitecore.LinkDatabase.Explicit.configfile. There for each sitecore databases, you can configure a link database provider and point it to a connection string:<linkProvider key="<sitecore database name>"type="Sitecore.Data.$(database).$(database)LinkDataProvider, Sitecore.Kernel"> <param ref="dataApis/dataApi[@name='$(database)']" param1="<connection string name>" /></linkProvider> -
SqlServerBatchLinkDatabase
The main advantage of the SqlServerBatchLinkDatabase provider is storing new item links in
Linkstable with help of batching. This improves performance considerably.
To use the SqlServerBatchLinkDatabase provider:
-
Enable the
App_Config/Include/Examples/SqlServerBatchLinkDatabase.config.examplefile by removing the.examplefrom the file name.NoteWhen you enable the new provider, Sitecore removes all data from the
Linkstable and the provider repopulates the table.
Rebuild the Links table
You may occasionally need to rebuild the Links table, for example, as part of the upgrade process.
To rebuild the Links table:
On the Sitecore Launchpad, open the Control Panel and in the Database section, click Rebuild link databases, select the Master and Core databases, and then click Rebuild.