In fact, 2 is my ID, so it seems that I am causing the trouble.
The last few hours I worked with the ticket system, answered about 20 tickets, closed some tickets, and browsed through the open queue a couple of times. In most cases, it works like a charm, but twice the ticket system slowed down. Once again, it happened with this long-running query (see log excerpt at the end of this post).
What the heck is causing this? And why does it run so long, and how can I get rid of it? Does anyone have a clue for me? As I said, this happens only for about a week a couple of times a day. I never had such trouble before with osTicket.
Here from log:
Time: 241208 8:40:31
User@Host: custcare[custcare] @ localhost []
Thread_id: 1573 Schema: custcare QC_hit: No
Query_time: 701.124368 Lock_time: 0.000379 Rows_sent: 50 Rows_examined: 325700
Rows_affected: 0 Bytes_sent: 9933
SET timestamp=1733643631;
SELECT A1.number
AS number
, A1.ticket_id
AS ticket_id
, A1.source
AS source
, A1.lastupdate
AS lastupdate
, B2.subject
AS cdata__subject
, A1.isoverdue
AS isoverdue
, B4.address
AS user__emails__address
, B3.name
AS user__name
, B2.priority
AS cdata__priority
, B5.firstname
AS staff__firstname
, B5.lastname
AS staff__lastname
, B6.name
AS team__name
, A1.team_id
AS team_id
, A1.isanswered
= '0' AS 2GkBZxz
, (SELECT COUNT(R0.id
) AS count
FROM ost_thread
Q7 JOIN ost_ticket
Q8 ON (Q7.object_type
= 'T' AND Q7.object_id
= Q8.ticket_id
) LEFT JOIN ost_thread_entry
R0 ON (Q7.id
= R0.thread_id
) WHERE Q8.ticket_id
= A1.ticket_id
AND NOT R0.flags
& 4 != 0) AS _thread_count, (SELECT COUNT(R1.id
) AS count
FROM ost_thread
Q7 JOIN ost_ticket
Q8 ON (Q7.object_type
= 'T' AND Q7.object_id
= Q8.ticket_id
) LEFT JOIN ost_thread_entry
R0 ON (Q7.id
= R0.thread_id
) LEFT JOIN ost_attachment
R1 ON (R1.type
= 'H' AND R0.id
= R1.object_id
) WHERE Q8.ticket_id
= A1.ticket_id
AND R1.inline
= 0) AS _att_count, B7.expire
> NOW() AND NOT B7.staff_id
= 2 AS _locked
, (SELECT COUNT(R0.id
) AS count
FROM ost_thread
Q7 JOIN ost_ticket
Q8 ON (Q7.object_type
= 'T' AND Q7.object_id
= Q8.ticket_id
) LEFT JOIN ost_thread_collaborator
R0 ON (Q7.id
= R0.thread_id
) WHERE Q8.ticket_id
= A1.ticket_id
) AS _collabs, COALESCE(B5.firstname
, B5.lastname
, B6.name
, 'zzz') AS assignee
FROM ost_ticket
A1 JOIN ost_ticket_status
A2 ON (A1.status_id
= A2.id
) LEFT JOIN ost_thread
A3 ON (A3.object_type
= 'T' AND A1.ticket_id
= A3.object_id
) LEFT JOIN ost_thread_referral
A4 ON (A3.id
= A4.thread_id
) LEFT JOIN ost_staff
A5 ON (A4.object_type
= 'S' AND A4.object_id
= A5.staff_id
) LEFT JOIN ost_thread
A6 ON (A1.ticket_id
= A6.object_id
AND A6.object_type
= 'C') LEFT JOIN ost_thread_referral
A7 ON (A6.id
= A7.thread_id
) LEFT JOIN ost_staff
A8 ON (A7.object_type
= 'S' AND A7.object_id
= A8.staff_id
) LEFT JOIN ost_department
B0 ON (A4.object_type
= 'D' AND A4.object_id
= B0.id
) LEFT JOIN ost_department
B1 ON (A7.object_type
= 'D' AND A7.object_id
= B1.id
) LEFT JOIN ost_ticket__cdata
B2 ON (A1.ticket_id
= B2.ticket_id
) JOIN ost_user
B3 ON (A1.user_id
= B3.id
) LEFT JOIN ost_user_email
B4 ON (B3.id
= B4.user_id
) LEFT JOIN ost_staff
B5 ON (A1.staff_id
= B5.staff_id
) LEFT JOIN ost_team
B6 ON (A1.team_id
= B6.team_id
) LEFT JOIN ost_lock
B7 ON (A1.lock_id
= B7.lock_id
) WHERE A2.state
= 'open' AND ((A2.state
= 'open' AND (A1.staff_id
= 2 OR A5.staff_id
= 2 OR A6.object_type
= 'C' AND A8.staff_id
= 2)) OR A1.dept_id
IN (1, 4, 5) OR B0.id
IN (1, 4, 5) OR A6.object_type
= 'C' AND B1.id
IN (1, 4, 5)) AND A3.object_type
= 'T' GROUP BY A1.ticket_id
ORDER BY A1.lastupdate
DESC LIMIT 50;
Time: 241208 10:16:13
User@Host: custcare[custcare] @ localhost []
Thread_id: 1781 Schema: custcare QC_hit: No
Query_time: 1248.842565 Lock_time: 0.000678 Rows_sent: 50 Rows_examined: 325792
Rows_affected: 0 Bytes_sent: 9614
SET timestamp=1733649373;
SELECT A1.number
AS number
, A1.ticket_id
AS ticket_id
, A1.source
AS source
, A1.lastupdate
AS lastupdate
, B2.subject
AS cdata__subject
, A1.isoverdue
AS isoverdue
, B4.address
AS user__emails__address
, B3.name
AS user__name
, B2.priority
AS cdata__priority
, B5.firstname
AS staff__firstname
, B5.lastname
AS staff__lastname
, B6.name
AS team__name
, A1.team_id
AS team_id
, A1.isanswered
= '0' AS 2GkBZxz
, (SELECT COUNT(R0.id
) AS count
FROM ost_thread
Q7 JOIN ost_ticket
Q8 ON (Q7.object_type
= 'T' AND Q7.object_id
= Q8.ticket_id
) LEFT JOIN ost_thread_entry
R0 ON (Q7.id
= R0.thread_id
) WHERE Q8.ticket_id
= A1.ticket_id
AND NOT R0.flags
& 4 != 0) AS _thread_count, (SELECT COUNT(R1.id
) AS count
FROM ost_thread
Q7 JOIN ost_ticket
Q8 ON (Q7.object_type
= 'T' AND Q7.object_id
= Q8.ticket_id
) LEFT JOIN ost_thread_entry
R0 ON (Q7.id
= R0.thread_id
) LEFT JOIN ost_attachment
R1 ON (R1.type
= 'H' AND R0.id
= R1.object_id
) WHERE Q8.ticket_id
= A1.ticket_id
AND R1.inline
= 0) AS _att_count, B7.expire
> NOW() AND NOT B7.staff_id
= 2 AS _locked
, (SELECT COUNT(R0.id
) AS count
FROM ost_thread
Q7 JOIN ost_ticket
Q8 ON (Q7.object_type
= 'T' AND Q7.object_id
= Q8.ticket_id
) LEFT JOIN ost_thread_collaborator
R0 ON (Q7.id
= R0.thread_id
) WHERE Q8.ticket_id
= A1.ticket_id
) AS _collabs, COALESCE(B5.firstname
, B5.lastname
, B6.name
, 'zzz') AS assignee
FROM ost_ticket
A1 JOIN ost_ticket_status
A2 ON (A1.status_id
= A2.id
) LEFT JOIN ost_thread
A3 ON (A3.object_type
= 'T' AND A1.ticket_id
= A3.object_id
) LEFT JOIN ost_thread_referral
A4 ON (A3.id
= A4.thread_id
) LEFT JOIN ost_staff
A5 ON (A4.object_type
= 'S' AND A4.object_id
= A5.staff_id
) LEFT JOIN ost_thread
A6 ON (A1.ticket_id
= A6.object_id
AND A6.object_type
= 'C') LEFT JOIN ost_thread_referral
A7 ON (A6.id
= A7.thread_id
) LEFT JOIN ost_staff
A8 ON (A7.object_type
= 'S' AND A7.object_id
= A8.staff_id
) LEFT JOIN ost_department
B0 ON (A4.object_type
= 'D' AND A4.object_id
= B0.id
) LEFT JOIN ost_department
B1 ON (A7.object_type
= 'D' AND A7.object_id
= B1.id
) LEFT JOIN ost_ticket__cdata
B2 ON (A1.ticket_id
= B2.ticket_id
) JOIN ost_user
B3 ON (A1.user_id
= B3.id
) LEFT JOIN ost_user_email
B4 ON (B3.id
= B4.user_id
) LEFT JOIN ost_staff
B5 ON (A1.staff_id
= B5.staff_id
) LEFT JOIN ost_team
B6 ON (A1.team_id
= B6.team_id
) LEFT JOIN ost_lock
B7 ON (A1.lock_id
= B7.lock_id
) WHERE A2.state
= 'open' AND ((A2.state
= 'open' AND (A1.staff_id
= 2 OR A5.staff_id
= 2 OR A6.object_type
= 'C' AND A8.staff_id
= 2)) OR A1.dept_id
IN (1, 4, 5) OR B0.id
IN (1, 4, 5) OR A6.object_type
= 'C' AND B1.id
IN (1, 4, 5)) AND A3.object_type
= 'T' GROUP BY A1.ticket_id
ORDER BY A1.lastupdate
DESC LIMIT 50;