Publishing or unpublishing a complex Taxonomy containing multi-parent Keywords and more than a few thousand Keywords with many related items, the deployment exceeds the transaction timeout and can take up to, or over an hour to complete. This can cause the database to become under stress.
Resolution
Configuration
The solution provides an option to switch off the reference counting mechanism on Keywords. In your Deployer:
Open your cd_storage_conf.xml in a text editor.
Set the following configuration option to the storage configuration file under the <Global> element:
<Taxonomies CountEnabled="false"/>
Save and close cd_storage_conf.xml.
By setting CountEnabled="false", the keyword reference counts are no longer calculated impacting the following APIs:
Java Class: com.tridion.taxonomies.Keyword and method: getReferencedContentCount
.NET Class: Tridion.ContentDelivery.Taxonomies.Keyword and property: ReferencedContentCount.
The impact will result in these methods returning a '0' integer return value.
Root Cause
The cause of the issue is the related item count that is provided on API level. The related item count to a Keyword is calculated during deployment time due to the complexity of taxonomies with multi-parent keywords the query for each level of the taxonomy grows exponentially in time to execute.
Reference
Hotfix 78523 for Tridion 2011 SP2 For later releases, please see Resolution.