PATCH - History display & performance (ShowTransaction)

Here’s one more suggestion for speeding up the display of transactions. I
noticed that in Ticket/Elements/ShowTransaction, the link for displaying an
Email Record is formed by using $Transaction->Attachments->First to get the
attachment ID. This repeats the query to get the transaction attachments
for each transaction. But all the ticket’s attachments have already been
cached up front for performance reasons, so this additional query isn’t
necessary.

I’ve attached a patch that gets the attachment ID from the cached list
instead of re-reading it from the database. RT 3.4.2.

Please let me know if I’ve misunderstood this!

Steve

Stephen Turner
Senior Programmer/Analyst - Client Support Services
MIT Information Services and Technology (IS&T)

ShowTransaction.patch (498 Bytes)

Here’s one more suggestion for speeding up the display of transactions. I
noticed that in Ticket/Elements/ShowTransaction, the link for displaying an
Email Record is formed by using $Transaction->Attachments->First to get the
attachment ID. This repeats the query to get the transaction attachments
for each transaction. But all the ticket’s attachments have already been
cached up front for performance reasons, so this additional query isn’t
necessary.

I’ve attached a patch that gets the attachment ID from the cached list
instead of re-reading it from the database. RT 3.4.2.

Please let me know if I’ve misunderstood this!

Hm. Does that actually change what database queries are done?

Here’s one more suggestion for speeding up the display of transactions. I
noticed that in Ticket/Elements/ShowTransaction, the link for displaying an
Email Record is formed by using $Transaction->Attachments->First to get the
attachment ID. This repeats the query to get the transaction attachments
for each transaction. But all the ticket’s attachments have already been
cached up front for performance reasons, so this additional query isn’t
necessary.

I’ve attached a patch that gets the attachment ID from the cached list
instead of re-reading it from the database. RT 3.4.2.

Please let me know if I’ve misunderstood this!

Hm. Does that actually change what database queries are done?
IMHO this skip SELECT of the atachments for the EmailRecord transaction.

+1

Steve

Stephen Turner
Senior Programmer/Analyst - Client Support Services
MIT Information Services and Technology (IS&T)


Rt-devel mailing list
Rt-devel@lists.bestpractical.com
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-devel


Rt-devel mailing list
Rt-devel@lists.bestpractical.com
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-devel

Best regards, Ruslan.

At Monday 11/28/2005 06:27 PM, Jesse Vincent wrote:>On Mon, Nov 28, 2005 at 05:35:15PM -0500, Stephen Turner wrote:

Here’s one more suggestion for speeding up the display of transactions. I
noticed that in Ticket/Elements/ShowTransaction, the link for
displaying an
Email Record is formed by using $Transaction->Attachments->First to get
the
attachment ID. This repeats the query to get the transaction attachments
for each transaction. But all the ticket’s attachments have already been
cached up front for performance reasons, so this additional query isn’t
necessary.

I’ve attached a patch that gets the attachment ID from the cached list
instead of re-reading it from the database. RT 3.4.2.

Please let me know if I’ve misunderstood this!

Hm. Does that actually change what database queries are done?

Yes - with the standard ShowTransaction component I’m seeing this query
executed for each “email record” transaction:

SELECT main.*
FROM
Attachments main WHERE ((main.TransactionId = ‘112812’)) ORDER BY main.id
ASC

Using the cached attachment collection eliminates the queries and seems to
get the same result.

Steve