[Rt-commit] rt branch, 4.0/shredder-index-docs, created. rt-4.0.18-73-g2a26e78

Kevin Falcone falcone at bestpractical.com
Fri Nov 22 21:54:47 EST 2013


The branch, 4.0/shredder-index-docs has been created
        at  2a26e780d2c0af4e7c530a8895acdab543babc6f (commit)

- Log -----------------------------------------------------------------
commit 2a26e780d2c0af4e7c530a8895acdab543babc6f
Author: Kevin Falcone <falcone at bestpractical.com>
Date:   Fri Nov 22 21:51:02 2013 -0500

    When shredder was cored in 3.8, these docs were lost.
    
    Without these indexes, the shredder performs poorly on a database of any
    real size.
    
    This includes the originally suggested indexes as well as one that I've
    found useful in tuning (SHREDDER_CGM3 on CachedGroupMembers (Via, Id)).

diff --git a/lib/RT/Shredder.pm b/lib/RT/Shredder.pm
index bebd599..9b072c9 100644
--- a/lib/RT/Shredder.pm
+++ b/lib/RT/Shredder.pm
@@ -164,6 +164,21 @@ your F<RT_SiteConfig.pm>:
 
 Be sure to specify an absolute path.
 
+=head1 Database Indexes
+
+We have found that the following indexes significantly speed up
+shredding on most databases.
+
+    CREATE INDEX SHREDDER_CGM1 ON CachedGroupMembers(MemberId, GroupId, Disabled);
+    CREATE INDEX SHREDDER_CGM2 ON CachedGroupMembers(ImmediateParentId,MemberId);
+    CREATE INDEX SHREDDER_CGM3 on CachedGroupMembers (Via, Id);
+
+    CREATE UNIQUE INDEX SHREDDER_GM1 ON GroupMembers(MemberId, GroupId);
+
+    CREATE INDEX SHREDDER_TXN1 ON Transactions(ReferenceType, OldReference);
+    CREATE INDEX SHREDDER_TXN2 ON Transactions(ReferenceType, NewReference);
+    CREATE INDEX SHREDDER_TXN3 ON Transactions(Type, OldValue);
+    CREATE INDEX SHREDDER_TXN4 ON Transactions(Type, NewValue)
 
 =head1 INFORMATION FOR DEVELOPERS
 

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


More information about the rt-commit mailing list