Иван, Не совсем понял про "посчитать". Запрос делает выборку данных из базы в 30 000 строк 300 раз подряд при загрузке страницы (идшник только меняется). А страницу, соответственно, грузит регулярно 10-20 человек (не часто).
Так выходит что выборка такая(из 30 000 * 300 раз подряд) грузится примерно минуту, а хотелось бы чтобы что-то +- вменяемое для пользователя. Сервис весьма технический, но всё-таки минута под нагрузкой превращается в несколько минут.
Иван, В базе лежат люди с определёнными статусами, делаю выборку по этим статусам и в последствие обрабатываю на php её. Также люди связаны с проектами (идшник) поэтому выборку делаю людей с определённым статусом по определённому проекта 300 раз подряд.
во-первых, зачем группировка по id если есть условие - where id = 1321 ??
т.е. выбирается по одному id и при этом нет агрегирующих функций ??
во-вторых зачем условие вынесено в подзапрос?
Сергей, потому что есть 300 проектов по которым надо выбрать данные и засунуть построчно в табличку где одна строка - один проект и в одном из столбцов вываливается выборка из таблицы feed
а тут нет особенно подробностей, я дальше выборку разбираю это на php (как говорится, как умею) где-то забираю дату от нужного статуса нужного человека, где-то забираю статус, где-то проверяю наличие нужного статуса и от этого дальше вывожу его или нет и тд
потому что есть 300 проектов по которым надо выбрать данные и засунуть построчно в табличку где одна строка - один проект и в одном из столбцов вываливается выборка из таблицы feed
проектов может быть тысячи... и на каждый дергать из feed ?
нужно больше подробностей..
как проекты связаны с feed с пользователями и пр.?
всю "таблицу" что выводится можно одним запросом наверняка построить.
Александр, вот пример связи проектов и пользователей и пример использования группировки, см. на sqlfiddle
первый запрос возвращает проекты и количество связанных с ним пользователей
второй запрос возвращает пользователей и количество проектов в которых он участвует
Я понял что имеет смысл все ид вместе запилить вместо 300 запросов, но у меня нет навыка чтобы сформировать эту таблицу не построчно с отдельными запросами, а всё разом. плюс, к тому же, там до этого запроса идёт ещё и другая выборка верхнего уровня, которая получает сами эти проекты и данные по ним
Александр, возможно имеет смысл их объединить? Все еще не сосем понятны ваши манипуляции, вы бы описали структуру базы и что вообще нужно, можно даже скринами со структуры в пхпмайадмине.