STRAIGHT_JOIN делать так:
А что выводит
и
форсирование индекс при селекте только по второй таблице работает
если в Селекте звездочку заменить на id, то индекс начинает работать
Сбросьте весь запрос текстом
UPDATE xyfq1_professions AS t1
inner JOIN STRAIGHT_JOIN xyfq1_items AS t2
SET t1.average = t2.average, t1.comments = t2.comments
WHERE t1.item_id = t2.id and (t2.average > 0 OR t2.comments > 0)
Вот эксплейн селекта
Вот убрал Where
Вот с форсирование индекса (может не так форсирую?)
С информации об индексах и EXPLAIN можно сделать вывод, что таблицы имеют одинаковое число записей, 1 к 1.
А также индексу по сути не чего фильтровать, базе нужно прочитать всю таблицу.
Можете условие с WHERE переместить в ON для JOIN.
Всего в таблице более 700K записей. Условие WHERE отбирает чуть более 200, но почему то сканируя всю таблицу. Перемещать WHERE в ON для JOIN пробовал, без эффекта.
Очень сильные качели. В Adsense всегда все было стабильно, а РСЯ очень огорчает.
Это пожалуй меня всегда бесило больше всего. т.е. две сети работали по сути с одними и теми же реклами, но Адсенс всегда давал больше и график доходов был всегда ровный, Яндекс же на моих сайтах даже в мирное время давал на 30% меньше, так еще и график дохода как забор деревенского алкаша.
Как оказалось нужно прописывать еще
opcache.preload_user=www-data
Нет в курсе ))) что лишь больше вызывает вопросов
Проблему нашел, ISP панель сама (ибо я не создавал) создала файлик isplimitreq.conf и заботливо прописала туда
Это конечно литейшая дичь такая придумка. Ладно бы они этот лимит пихали внутрь локейшена /
а они его пихают в отдельный конфиг и применяют ко всему сайту, т.е. если у тебя в шаблоне больше 25 картинок, загрузятся первые 25, а остальные нет ))) идиотизм!