Add primary key to inactive_task_ids and inactive_subscriber_ids table

[MAILPOET-4401]
This commit is contained in:
David Remer
2023-08-25 08:14:40 +03:00
committed by Aschepikov
parent afb8008c09
commit 8170391731

View File

@@ -71,7 +71,7 @@ class InactiveSubscribersController {
if (!$this->processedTaskIdsTableCreated) { if (!$this->processedTaskIdsTableCreated) {
$processedTaskIdsTableSql = " $processedTaskIdsTableSql = "
CREATE TEMPORARY TABLE IF NOT EXISTS {$processedTaskIdsTable} CREATE TEMPORARY TABLE IF NOT EXISTS {$processedTaskIdsTable}
(INDEX task_id_ids (id)) (INDEX task_id_ids (id), PRIMARY KEY (`id`))
SELECT DISTINCT task_id as id FROM {$sendingQueuesTable} as sq SELECT DISTINCT task_id as id FROM {$sendingQueuesTable} as sq
JOIN {$scheduledTasksTable} as st ON sq.task_id = st.id JOIN {$scheduledTasksTable} as st ON sq.task_id = st.id
WHERE st.processed_at > :thresholdDate WHERE st.processed_at > :thresholdDate
@@ -91,7 +91,7 @@ class InactiveSubscribersController {
$inactiveSubscriberIdsTmpTable = 'inactive_subscriber_ids'; $inactiveSubscriberIdsTmpTable = 'inactive_subscriber_ids';
$connection->executeQuery(" $connection->executeQuery("
CREATE TEMPORARY TABLE IF NOT EXISTS {$inactiveSubscriberIdsTmpTable} CREATE TEMPORARY TABLE IF NOT EXISTS {$inactiveSubscriberIdsTmpTable}
(UNIQUE subscriber_id (id)) (UNIQUE subscriber_id (id), PRIMARY KEY (`id`))
SELECT s.id FROM {$subscribersTable} as s SELECT s.id FROM {$subscribersTable} as s
JOIN {$scheduledTaskSubscribersTable} as sts USE INDEX (subscriber_id) ON s.id = sts.subscriber_id JOIN {$scheduledTaskSubscribersTable} as sts USE INDEX (subscriber_id) ON s.id = sts.subscriber_id
JOIN {$processedTaskIdsTable} task_ids ON task_ids.id = sts.task_id JOIN {$processedTaskIdsTable} task_ids ON task_ids.id = sts.task_id