Все, что мне хотелось бы знать, это то, сколько записей есть в моих результатах запроса, но MySQL дергает меня, говоря, что я потерял соединение. Сам запрос выполняется примерно через секунду.Медленный: получение результатов подсчета запроса с использованием подзапроса
SELECT COUNT(*) FROM
(SELECT my208.eid AS contact, name AS the_status, cid208.lastmod AS status_date, boo208.boo_medium
FROM the_emails.my208
LEFT JOIN the_emails.cid208 ON cid208.eid = my208.eid
LEFT JOIN the_emails.boo208 ON boo208.eid = my208.eid
LEFT JOIN the_config.classes ON boo208.class_id = classes.id) foo
Почему это занимает так много времени и есть лучший способ?
Почему бы не включать 'COUNT (*)' в внутренний сам запрос. – Rahul
По всей вероятности, на столе у вас неправильные условия соединения. Однако без дополнительной информации, такой как данные выборки, нельзя сказать. –
@ GordonLinoff вы, вероятно, правы, это мой первый день, погружаясь в db в новую роль, и я сейчас изучаю. Я бы подумал, что если я могу запустить запрос foo сам в мгновение ока, то, конечно, подсчет результатов этого тоже должен быть быстрым? –