Fixed
Details
Priority
MajorComponents
Assignee
Sam OttenhoffSam OttenhoffReporter
Sam OttenhoffSam OttenhoffConversion Script Required
Yes
Details
Details
Priority
Components
Assignee
Sam Ottenhoff
Sam OttenhoffReporter
Sam Ottenhoff
Sam OttenhoffConversion Script Required
Yes
Created October 6, 2017 at 9:46 AM
Updated March 28, 2019 at 10:19 AM
Resolved October 9, 2017 at 10:01 AM
SAK-23634 created user_audits_log table with index on (id, site_id) but all queries are done against site_id. MySQL does a full table scan.
ALTER TABLE `user_audits_log`
MODIFY COLUMN `site_id` varchar(99) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `id`,
MODIFY COLUMN `role_name` varchar(99) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `user_id`,
DROP INDEX `user_audits_log_index`,
ADD INDEX `user_audits_log_index`(`site_id`);
Here are the queries I see in the logs:
sql = "select user_id, role_name, action_taken, audit_stamp, source, action_user_id from user_audits_log where site_id = '" + siteId + "' order by audit_stamp desc"; String sql = "delete from user_audits_log where site_id = ?";