yehster wrote on Thursday, April 12, 2012:
Some preliminary profiling, AuditSQLEvent execution time goes from about 7ms to 3ms. Doesn’t seem like much, but multiplied by the number of times it gets called the impact on calendar load time is ~2 seconds to less than 1.
Here are a couple of queries which the regex misses. because of ` (backticks) surrounding the table name and lots of parentheses for joins.
Missed table SELECT pnotes.id, pnotes.user, pnotes.pid, pnotes.title, pnotes.date, pnotes.message_status, IF(pnotes.user != pnotes.pid,users.fname,patient_data.fname), IF(pnotes.user != pnotes.pid,users.lname,patient_data.lname), patient_data.fname, patient_data.lname FROM ((pnotes LEFT JOIN users ON pnotes.user = users.username) JOIN patient_data ON pnotes.pid = patient_data.pid)
Missed table SELECT pnotes.id, pnotes.user, pnotes.pid, pnotes.title, pnotes.date, pnotes.message_status, IF(pnotes.user != pnotes.pid,users.fname,patient_data.fname) as users_fname, IF(pnotes.user != pnotes.pid,users.lname,patient_data.lname) as users_lname, patient_data.fname as patient_data_fname, patient_data.lname as patient_data_lname FROM ((pnotes LEFT JOIN users ON pnotes.user = users.username) JOIN patient_data ON pnotes.pid = patient_data.pid)
From Sort Up Patie
SELECT dr.pid, dr.dr_id, dr.dr_message_text,dr.dr_message_due_date, u.fname ffname, u.mname fmname, u.lname flname FROM `dated_reminders` dr JOIN `users` u ON dr.dr_from_ID = u.id JOIN `dated_reminders_link` drl ON dr.dr_id = drl.dr_id Missed table SELECT pd.title ptitle, pd.fname pfname, pd.mname pmname, pd.lname plname FROM `patient_data` pd