Нормальные прокси для нормальных людей не умеют создавать цепочки. Ищите Илитный Софт :)
Технически, для изготовления цепочки понадобятся или socks-прокси или прокси с поддержкой http-метода CONNECT. Тем более для работы произвольного протокола только такие и подойдут.
Miracle: За запрос спасибо, пока для меня темный лес, я бы не догадался, но , если судить по дампу, должны быть выведены talk_id по такой очередности 47 , 44, 42, 45, 39 в вашем же запросе 47 ,42, 45, 39, 44 - почему так хитро мне не понятно.
а это я сортировку просмотрел. правильно так :
select tc.comment_id,tc.* from bt_talk_comment tc JOIN ( select max(tc.comment_id) g_max_tc_id from bt_talk_comment tc WHERE tc.comment_activity=1 GROUP BY tc.talk_id ORDER BY g_max_tc_id DESC LIMIT 5 ) last_tc ON tc.comment_id=last_tc.g_max_tc_id JOIN bt_talk t ON t.talk_id = tc.talk_id LEFT JOIN bt_user u ON u.user_id = tc.user_id;
я, правда, опасаюсь за подзапрос. что-то он на этих данных вырождается в полный перебор.
понятно. чтобы отобрать последний коммент к каждой записи, придется выбирать ид интересующих комментов и уже потом присоединять к ним.
SELECT tc.comment_id, t.talk_id, talk_topic, u.user_email, u.user_nickname from bt_talk_comment tc JOIN ( SELECT MAX(tc.comment_id) g_max_tc_id FROM bt_talk_comment tc WHERE tc.comment_activity=1 GROUP BY tc.talk_id ORDER BY tc.comment_id DESC LIMIT 5 ) last_tc ON tc.comment_id=last_tc.g_max_tc_id JOIN bt_talk t ON tc.talk_id = t.talk_id JOIN bt_user u ON tc.user_id = u.user_id;
кстати, в дампе натуральное НЛО - user_id =3 отсутствует.
SELECT tc.comment_id, t.talk_id, talk_topic, u.user_email, u.user_nickname
FROM bt_talk_comment tc
JOIN bt_talk t ON t.talk_id = tc.talk_id
JOIN bt_user u ON u.user_id = t.user_id
WHERE tc.comment_activity=1
GROUP BY t.talk_id
ORDER BY tc.comment_id DESC
LIMIT 5
Если написать перед запросом EXPLAIN, то можно увидеть как отличается метод обработки с LEFT и без. Вот если бы вы в поля прописали бы NOT NULL, то наверное, план выполнения не отличался бы.
Я заметил, что некоторые использую слово LEFT везде - /ru/forum/403218. В моей практике было еще пару случаев. То есть вы четвертый. Кто вас этому учит?
Обычно метод выполнения когда mysql ожидает null-значения отличается и значительно хуже простого объединения.
Нормальные прокси для нормальных людей не умеют создавать цепочки. Ищите Илитный Софт :)
Технически, для изготовления цепочки понадобятся или socks-прокси или прокси с поддержкой http-метода CONNECT. Тем более для работы произвольного протокола только такие и подойдут.
bearman, может быть внешний group by t.talk_id не обязателен. А то на дампе получается 3 записи всего.
Но тогда можно получить кучу комментов к одной и той же записи и такой блок на сайте не показывает разнообразия.
и еще на моей версии mysql подзапрос упорно игнорирует индекс. а у вас - планирует перебрать по индексу 39 записей.
За запрос спасибо, пока для меня темный лес, я бы не догадался, но , если судить по дампу, должны быть выведены talk_id по такой очередности 47 , 44, 42, 45, 39 в вашем же запросе 47 ,42, 45, 39, 44 - почему так хитро мне не понятно.
а это я сортировку просмотрел. правильно так :
я, правда, опасаюсь за подзапрос. что-то он на этих данных вырождается в полный перебор.
Плеер то коробочный и скорее всего без исходников. Кто его переписывать будет?
Попытайтесь считать скачивания файлов анализатором логов.
понятно. чтобы отобрать последний коммент к каждой записи, придется выбирать ид интересующих комментов и уже потом присоединять к ним.
кстати, в дампе натуральное НЛО - user_id =3 отсутствует.
Кажется, спутали условие join , попробуйте так :
Если написать перед запросом EXPLAIN, то можно увидеть как отличается метод обработки с LEFT и без. Вот если бы вы в поля прописали бы NOT NULL, то наверное, план выполнения не отличался бы.
нигде нельзя. по крайней мере для вебсайта.
простите, немного не понял вопроса
Я заметил, что некоторые использую слово LEFT везде - /ru/forum/403218. В моей практике было еще пару случаев. То есть вы четвертый. Кто вас этому учит?
Обычно метод выполнения когда mysql ожидает null-значения отличается и значительно хуже простого объединения.
Я не отдел К, так что извините что без перестрелок и погонь
Если итог один - переформатирование, стоила ли игра свеч ? Клиент и так теперь знает, что ему нужен постоянный админ.
Зачем вы ПОСТОЯННО используете left join ? много у вас комментариев "от НЛО" ?