<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_quote"><div dir="ltr"><div><font face="tahoma, sans-serif">Hello list, </font></div><div><font face="tahoma, sans-serif"><br>

</font></div><div><div>
<font face="tahoma, sans-serif">In preparation for transferring our RT server to a new server</font></div><div><font face="tahoma, sans-serif">I started to clean up RT using the shredder tool,</font></div>
<div><font face="tahoma, sans-serif"><br></font></div><div><font face="tahoma, sans-serif">For starters, I shred old tickets marked as deleted (mostly spam),</font></div><div>
<font face="tahoma, sans-serif"><br></font></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><font face="courier new, monospace"># ./rt-shredder --plugin "Tickets=query,Status = 'Deleted' AND LastUpdated < '30 days ago';limit,100" --sqldump /opt/shredder-restore-tickets-`date +%s`.sql --force</font></blockquote>


<div><font face="tahoma, sans-serif"><br></font></div><div><font face="tahoma, sans-serif">And the next step was deleting users who have no tickets</font></div><div><font face="tahoma, sans-serif"><br>
</font></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><font face="courier new, monospace"># ./rt-shredder --plugin "Users=no_tickets,1;status,any;replace_relations,Nobody;limit,25" --sqldump /opt/shredder-restore-tickets-`date +%s`.sql --force</font></blockquote>


<div><font face="tahoma, sans-serif"><br></font></div><div><font face="tahoma, sans-serif">Running the following commands from the command line would take me about two hours to finish.</font></div>
<div><font face="tahoma, sans-serif"><br></font></div><div><font face="tahoma, sans-serif">I'm no database expert, but i start searching around and enabled slow query login for MySQL and i found out that the script hang a lot on query on the Attachment table, the problem seemed to be a missing index for the creator column. </font></div>


<div><font face="tahoma, sans-serif"><br></font></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<font face="courier new, monospace">mysql> ALTER TABLE  `Attachments` ADD INDEX (  `Creator` )</font></blockquote><div><font face="tahoma, sans-serif"><br></font></div><div><font face="tahoma, sans-serif">After adding the above indexing for this column, the deletion time dropped to less than 5 minutes</font></div>


<div><font face="tahoma, sans-serif"><br></font></div><div><font face="tahoma, sans-serif">Given the success of the above method, I used it on other tables,</font></div><div>
<font face="tahoma, sans-serif">and found few more places that I can add indexing to improve shredder timing.</font></div><div><font face="tahoma, sans-serif"><br></font></div><div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><font face="courier new, monospace">ALTER TABLE  `Transactions`            ADD INDEX (  `Creator`       )<br>


ALTER TABLE  `ObjectCustomFieldValues` ADD INDEX (  `ObjectType`    )<br>ALTER TABLE  `ObjectCustomFieldValues` ADD INDEX (  `ObjectId`      )<br>ALTER TABLE  `Groups`                  ADD INDEX (  `LastUpdatedBy` )<br>ALTER TABLE  `Principals`              ADD INDEX (  `PrincipalType` )<br>


ALTER TABLE  `CachedGroupMembers`      ADD INDEX (  `Via`           )<br>ALTER TABLE  `GroupMembers`            ADD INDEX (  `LastUpdatedBy` )<br>ALTER TABLE  `Groups`                  ADD INDEX (  `Creator`       )<br>ALTER TABLE  `Tickets`                 ADD INDEX (  `Creator`       )</font></blockquote>


</div><div><font face="tahoma, sans-serif"><br></font></div><div><font face="tahoma, sans-serif">My question is, </font></div><div><font face="tahoma, sans-serif">can i leave the above index ?</font></div>
<div><font face="tahoma, sans-serif">can those changes disturb or harm future upgrades of RT ?</font></div><div><font face="tahoma, sans-serif"><br></font></div><div>
<font face="tahoma, sans-serif">Thanks in advance,<br></font></div></div><div><div dir="ltr"><font face="tahoma, sans-serif">--<br><font color="#999999" size="1"><div>​​</div><span class="HOEnZb"><font color="#888888">Rabin Yasharzadehe</font></span></font></font></div>


</div><div dir="ltr"><font color="#999999" face="verdana, sans-serif" size="1"><br></font></div>
</div>
</div><br></div>