diff --git a/config/alfresco/dbscripts/create/org.hibernate.dialect.MySQLInnoDBDialect/AlfrescoCreate-RepoTables.sql b/config/alfresco/dbscripts/create/org.hibernate.dialect.MySQLInnoDBDialect/AlfrescoCreate-RepoTables.sql index 5cfc55fad1..c7f3735fae 100644 --- a/config/alfresco/dbscripts/create/org.hibernate.dialect.MySQLInnoDBDialect/AlfrescoCreate-RepoTables.sql +++ b/config/alfresco/dbscripts/create/org.hibernate.dialect.MySQLInnoDBDialect/AlfrescoCreate-RepoTables.sql @@ -215,7 +215,7 @@ CREATE TABLE alf_node KEY idx_alf_node_txn_type (transaction_id, type_qname_id), KEY fk_alf_node_acl (acl_id), KEY fk_alf_node_store (store_id), - KEY fk_alf_node_tqn (type_qname_id), + KEY idx_alf_node_tqn (type_qname_id, store_id, id), KEY fk_alf_node_loc (locale_id), KEY idx_alf_node_mdq (store_id, type_qname_id), KEY idx_alf_node_cor (audit_creator, store_id, type_qname_id), diff --git a/config/alfresco/dbscripts/create/org.hibernate.dialect.MySQLInnoDBDialect/Schema-Reference-ALF.xml b/config/alfresco/dbscripts/create/org.hibernate.dialect.MySQLInnoDBDialect/Schema-Reference-ALF.xml index 2d16638088..8cbfad4c66 100644 --- a/config/alfresco/dbscripts/create/org.hibernate.dialect.MySQLInnoDBDialect/Schema-Reference-ALF.xml +++ b/config/alfresco/dbscripts/create/org.hibernate.dialect.MySQLInnoDBDialect/Schema-Reference-ALF.xml @@ -1503,9 +1503,11 @@ store_id - + type_qname_id + store_id + id diff --git a/config/alfresco/dbscripts/create/org.hibernate.dialect.PostgreSQLDialect/AlfrescoCreate-RepoTables.sql b/config/alfresco/dbscripts/create/org.hibernate.dialect.PostgreSQLDialect/AlfrescoCreate-RepoTables.sql index 0cb92349d1..d4f79424df 100644 --- a/config/alfresco/dbscripts/create/org.hibernate.dialect.PostgreSQLDialect/AlfrescoCreate-RepoTables.sql +++ b/config/alfresco/dbscripts/create/org.hibernate.dialect.PostgreSQLDialect/AlfrescoCreate-RepoTables.sql @@ -241,7 +241,7 @@ CREATE INDEX idx_alf_node_mod ON alf_node (audit_modified, store_id, type_qname_ CREATE INDEX idx_alf_node_txn_type ON alf_node (transaction_id, type_qname_id); CREATE INDEX fk_alf_node_acl ON alf_node (acl_id); CREATE INDEX fk_alf_node_store ON alf_node (store_id); -CREATE INDEX fk_alf_node_tqn ON alf_node (type_qname_id); +CREATE INDEX idx_alf_node_tqn ON alf_node (type_qname_id, store_id, id); CREATE INDEX fk_alf_node_loc ON alf_node (locale_id); CREATE INDEX fk_alf_store_root ON alf_store (root_node_id); diff --git a/config/alfresco/dbscripts/create/org.hibernate.dialect.PostgreSQLDialect/Schema-Reference-ALF.xml b/config/alfresco/dbscripts/create/org.hibernate.dialect.PostgreSQLDialect/Schema-Reference-ALF.xml index 36baa01577..643a25e3cd 100644 --- a/config/alfresco/dbscripts/create/org.hibernate.dialect.PostgreSQLDialect/Schema-Reference-ALF.xml +++ b/config/alfresco/dbscripts/create/org.hibernate.dialect.PostgreSQLDialect/Schema-Reference-ALF.xml @@ -1553,9 +1553,11 @@ store_id - + type_qname_id + store_id + id diff --git a/config/alfresco/dbscripts/db-schema-context.xml b/config/alfresco/dbscripts/db-schema-context.xml index 9b5601c872..254db07102 100644 --- a/config/alfresco/dbscripts/db-schema-context.xml +++ b/config/alfresco/dbscripts/db-schema-context.xml @@ -92,6 +92,7 @@ + diff --git a/config/alfresco/dbscripts/upgrade/4.1/org.hibernate.dialect.MySQLInnoDBDialect/createIdxAlfNodeTQN.sql b/config/alfresco/dbscripts/upgrade/4.1/org.hibernate.dialect.MySQLInnoDBDialect/createIdxAlfNodeTQN.sql new file mode 100644 index 0000000000..9b8c274095 --- /dev/null +++ b/config/alfresco/dbscripts/upgrade/4.1/org.hibernate.dialect.MySQLInnoDBDialect/createIdxAlfNodeTQN.sql @@ -0,0 +1,26 @@ +-- +-- Title: Add new index to alf_node +-- Database: MySQL +-- Since: V4.1 Schema 5124 +-- Author: Viachaslau Tsikhanovich +-- +-- Please contact support@alfresco.com if you need assistance with the upgrade. +-- +-- MNT-9516 : BM-0002: Slow query detected during site creation action + +ALTER TABLE alf_node DROP FOREIGN KEY fk_alf_node_tqn; +DROP INDEX fk_alf_node_tqn ON alf_node; +CREATE INDEX idx_alf_node_tqn ON alf_node (type_qname_id, store_id, id); +ALTER TABLE alf_node ADD CONSTRAINT fk_alf_node_tqn FOREIGN KEY (`type_qname_id`) REFERENCES `alf_qname` (`id`); + +-- +-- Record script finish +-- +DELETE FROM alf_applied_patch WHERE id = 'patch.db-V4.1-createIdxAlfNodeTQN'; +INSERT INTO alf_applied_patch + (id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report) + VALUES + ( + 'patch.db-V4.1-createIdxAlfNodeTQN', 'MNT-9516 : BM-0002: Slow query detected during site creation action', + 0, 5124, -1, 5125, null, 'UNKNOWN', ${TRUE}, ${TRUE}, 'Script completed' + ); \ No newline at end of file diff --git a/config/alfresco/dbscripts/upgrade/4.1/org.hibernate.dialect.PostgreSQLDialect/createIdxAlfNodeTQN.sql b/config/alfresco/dbscripts/upgrade/4.1/org.hibernate.dialect.PostgreSQLDialect/createIdxAlfNodeTQN.sql new file mode 100644 index 0000000000..8f86c286b3 --- /dev/null +++ b/config/alfresco/dbscripts/upgrade/4.1/org.hibernate.dialect.PostgreSQLDialect/createIdxAlfNodeTQN.sql @@ -0,0 +1,26 @@ +-- +-- Title: Add new index to alf_node +-- Database: MySQL +-- Since: V4.1 Schema 5124 +-- Author: Viachaslau Tsikhanovich +-- +-- Please contact support@alfresco.com if you need assistance with the upgrade. +-- +-- MNT-9516 : BM-0002: Slow query detected during site creation action + +ALTER TABLE alf_node DROP CONSTRAINT fk_alf_node_tqn; +DROP INDEX fk_alf_node_tqn; +CREATE INDEX idx_alf_node_tqn ON alf_node (type_qname_id, store_id, id); +ALTER TABLE alf_node ADD CONSTRAINT fk_alf_node_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id); + +-- +-- Record script finish +-- +DELETE FROM alf_applied_patch WHERE id = 'patch.db-V4.1-createIdxAlfNodeTQN'; +INSERT INTO alf_applied_patch + (id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report) + VALUES + ( + 'patch.db-V4.1-createIdxAlfNodeTQN', 'MNT-9516 : BM-0002: Slow query detected during site creation action', + 0, 5124, -1, 5125, null, 'UNKNOWN', ${TRUE}, ${TRUE}, 'Script completed' + ); \ No newline at end of file diff --git a/config/alfresco/patch/patch-services-context.xml b/config/alfresco/patch/patch-services-context.xml index 531fe09380..0f631da758 100644 --- a/config/alfresco/patch/patch-services-context.xml +++ b/config/alfresco/patch/patch-services-context.xml @@ -3643,5 +3643,16 @@ classpath:alfresco/dbscripts/upgrade/4.1/${db.script.dialect}/ChildAssoc-OrderBy.sql + + + patch.db-V4.1-createIdxAlfNodeTQN + patch.schemaUpgradeScript.description + 0 + 7000 + 7001 + + classpath:alfresco/dbscripts/upgrade/4.1/${db.script.dialect}/createIdxAlfNodeTQN.sql + + diff --git a/config/alfresco/version.properties b/config/alfresco/version.properties index 18f588272f..13683a55fd 100644 --- a/config/alfresco/version.properties +++ b/config/alfresco/version.properties @@ -23,4 +23,4 @@ version.build=r@scm-revision@-b@build-number@ # Schema number -version.schema=7000 +version.schema=7001