In case you have your own slow SQL query, you can optimize it automatically here.
For the query above, the following recommendations will be helpful as part of the SQL tuning process.
You'll find 3 sections below:
ALTER TABLE `table1` ADD INDEX `table1_idx_archived` (`archived`);
ALTER TABLE `table2` ADD INDEX `table2_idx_table1_id` (`table1_id`);
ALTER TABLE `table3` ADD INDEX `table3_idx_table1_id` (`table1_id`);
ALTER TABLE `table4` ADD INDEX `table4_idx_table1_id` (`table1_id`);
ALTER TABLE `table5` ADD INDEX `table5_idx_table1_id` (`table1_id`);
ALTER TABLE `table6` ADD INDEX `table6_idx_table1_id` (`table1_id`);
ALTER TABLE `table7` ADD INDEX `table7_idx_table1_id` (`table1_id`);
SELECT
optimizedSub1.*,
(SELECT
GROUP_CONCAT(DISTINCT table2.table2_id) AS table2Ids
FROM
table2
WHERE
optimizedSub1.table1Id = table2.table1_id LIMIT 1) AS table2Ids,
(SELECT
GROUP_CONCAT(DISTINCT table3.table3_id) AS table3Ids
FROM
table3
WHERE
optimizedSub1.table1Id = table3.table1_id LIMIT 1) AS table3Ids,
(SELECT
GROUP_CONCAT(DISTINCT table4.table4_id) AS table4Ids
FROM
table4
WHERE
optimizedSub1.table1Id = table4.table1_id LIMIT 1) AS table4Ids,
(SELECT
GROUP_CONCAT(DISTINCT table5.table5_id) AS table5Ids
FROM
table5
WHERE
optimizedSub1.table1Id = table5.table1_id LIMIT 1) AS table5Ids,
(SELECT
GROUP_CONCAT(DISTINCT table6.table6_id) AS table6Ids
FROM
table6
WHERE
optimizedSub1.table1Id = table6.table1_id LIMIT 1) AS table6Ids,
(SELECT
GROUP_CONCAT(DISTINCT table7.table7_id) AS table7Ids
FROM
table7
WHERE
optimizedSub1.table1Id = table7.table1_id LIMIT 1) AS table7Ids
FROM
(SELECT
table1.table1_id AS table1Id
FROM
table1
WHERE
table1.archived = false
ORDER BY
NULL LIMIT 1000) AS optimizedSub1