Dram

Рейтинг
1115
Регистрация
28.06.2008

Попробовал так. результат не изменился...

SELECT IF(pipls.rate > 0, pipls.rate + 300000000, IF(LENGTH(pipls.photo) > 0, 200000000 + pipls.rate, 10000000)) as `order_num`, ROUND(pipls.average, 1)
AS rate, pipls.comments, pipls.hits, pipls.photo, pipls.fullname, t4.description,
CONCAT_WS('-', pipls.id, pipls.alias) AS item_alias,
CONCAT_WS('-', t2.id, t2.alias) AS category_alias,
CONCAT_WS('-', t3.id, t3.alias) AS section_alias
FROM SD_pipls_items AS pipls
INNER JOIN SD_pipls_categories AS t2 ON pipls.category_id = t2.id
INNER JOIN SD_pipls_sections AS t3 ON pipls.section_id = t3.id

INNER JOIN SD_comments_items AS t4 ON pipls.id = t4.object_id or t4.object_id IS NULL

WHERE pipls.id IN (SELECT `pipl_id` FROM SD_pipls_specialisations_rel WHERE `specialisation_id` = 154)
AND pipls.section_id = 526
AND t4.object_group = 'com_pipls' or t4.object_group IS NULL
GROUP BY pipls.id
ORDER BY `order_num` desc, `fullname` asc

hrach, это было первое что я попробовал - результат запроса это не изменило. Изменение INNER на LEFT везде или только в моей правке не меняет результат.

В общем подобрал нужную скорость, чтобы мои прокси не банились и проблема пропала. Вероятно сайт донор как-то тормозил соединения, у меня не закрывался коннект с базой и како-то лимит переполнялся... я так думаю..

Извиняюсь, действительно я протупил. Не локальная короче. Обычный ВПС

Еще раз повторяю для тех кто на "бронепоезде" - база не локальная!

Сейчас запустил цикл на 5000 - пока шпарит без проблем.

Но защита там есть, проверено. Ай пи банятся на время. Я делаю запросы через прокси.

Не локалка, а вот второе похоже на правду. Как закрывать соединение с базой по завершении итерации цикла в пхп?

---------- Добавлено 22.10.2019 в 16:38 ----------

Сейчас прогнал еще 2000 - проблем не было. Я думаю это защита на той стороне, тормозит запросы

База локальная.

Фаервол - ну а смысл? Первые 2000 прошли же нормально.

Тем более я в консоле вижу когда он зависает.

Тут же торможу, запускаю заново - он 5-20 записей отрабатывает и опять зависает.

Пробовал добавлять слип в цикл на 1-2 сек. Без толку.

Сейчас гуглю mysql close

interactive_timeout = 60, остальный timeout привел выше. А может эта некая защита - тормозящая запросы?

Это стандартный файл Джумлы, строку выделил жирным

if ($this->prepared instanceof PDOStatement)
{
// Bind the variables:
if ($this->sql instanceof JDatabaseQueryPreparable)
{
$bounded = $this->sql->getBounded();

foreach ($bounded as $key => $obj)
{
$this->prepared->bindParam($key, $obj->value, $obj->dataType, $obj->length, $obj->driverOptions);
}
}

$this->executed = $this->prepared->execute();
}

onep, офигеть, 30 минут пытался понять где косяк :)) Спс. Вот так вот - раскладку не поменяешь и выносишь себе мозХ. Спс

Всего: 6928