[Rt-commit] rt branch 4.4/create-index-on-objectcustomfields-objectid created. rt-4.4.5-7-gd047b1c3e2

BPS Git Server git at git.bestpractical.com
Wed Dec 22 21:21:54 UTC 2021


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "rt".

The branch, 4.4/create-index-on-objectcustomfields-objectid has been created
        at  d047b1c3e2d1db9c2c0b18a4de1a6e2bc78848b0 (commit)

- Log -----------------------------------------------------------------
commit d047b1c3e2d1db9c2c0b18a4de1a6e2bc78848b0
Author: Brian Conry <bconry at bestpractical.com>
Date:   Wed Dec 22 08:39:00 2021 -0600

    Add index on ObjectCustomFields.ObjectId
    
    Enhance performance of queries looking for custom fields by the specific
    objects that they are applied to, e.g. RT::Queue->TicketCustomFields to
    find the custom fields for tickets in a particular queue.
    
    Primarily benefits installations with a very large number of custom
    fields.

diff --git a/etc/schema.Oracle b/etc/schema.Oracle
index b3e677b827..92248d2e65 100644
--- a/etc/schema.Oracle
+++ b/etc/schema.Oracle
@@ -320,6 +320,8 @@ CREATE TABLE ObjectCustomFields (
         LastUpdated     DATE
 );
 
+CREATE INDEX ObjectCustomFields1 ON ObjectCustomFields (ObjectId); 
+
 
 CREATE SEQUENCE OBJECTCUSTOMFIELDVALUES_seq;
 CREATE TABLE ObjectCustomFieldValues (
diff --git a/etc/schema.Pg b/etc/schema.Pg
index aa4b437e0a..1eeda6355c 100644
--- a/etc/schema.Pg
+++ b/etc/schema.Pg
@@ -574,6 +574,8 @@ CREATE TABLE ObjectCustomFields (
 
 );
 
+CREATE INDEX ObjectCustomFields1 ON ObjectCustomFields (ObjectId);
+
 
 
 
diff --git a/etc/schema.SQLite b/etc/schema.SQLite
index f8e6ae9327..4d48e2b800 100644
--- a/etc/schema.SQLite
+++ b/etc/schema.SQLite
@@ -414,6 +414,8 @@ CREATE TABLE ObjectCustomFields (
   PRIMARY KEY (id)
 ) ;
 
+CREATE INDEX ObjectCustomFields1 ON ObjectCustomFields (ObjectId);
+
 
 
 CREATE TABLE CustomFieldValues (
diff --git a/etc/schema.mysql b/etc/schema.mysql
index eefc145ca4..21975aba55 100644
--- a/etc/schema.mysql
+++ b/etc/schema.mysql
@@ -386,6 +386,8 @@ CREATE TABLE ObjectCustomFields (
   PRIMARY KEY (id)
 ) ENGINE=InnoDB CHARACTER SET utf8;
 
+CREATE INDEX ObjectCustomFields1 ON ObjectCustomFields (ObjectId);
+
 
 
 CREATE TABLE CustomFieldValues (
diff --git a/etc/upgrade/4.4.6/indexes b/etc/upgrade/4.4.6/indexes
new file mode 100644
index 0000000000..1147a739a3
--- /dev/null
+++ b/etc/upgrade/4.4.6/indexes
@@ -0,0 +1,9 @@
+use strict;
+use warnings;
+
+$RT::Handle->MakeSureIndexExists(
+    Table => 'ObjectCustomFields',
+    Columns => ['ObjectId'],
+);
+
+1;

-----------------------------------------------------------------------


hooks/post-receive
-- 
rt


More information about the rt-commit mailing list