ivan-lev

Рейтинг
435
Регистрация
20.04.2007

BIOS999, Selectel, безусловно ввёл Вас в заблуждение указанием даты удаления.. Но:

1) Вы не указали срок оплаты (до какого сервера были оплачены.. судя по переписке - 240 часов ~ 10 суток.. + на 3 дня дольше т.е. +- до 1 числа)

2) Вы не указали дату письма о блокировке серверов (первый скрин).

3) Вы не указали Вашу реакцию на письмо о блокировке серверов.

4) Вы чуть позже сказали, что это несколько(!) дедиков (!)

5) Вы отреагировали на письмо об удалении через сутки с хвостиком

Итого, 2 дедика бесплатно стоят в стойке (занимают место, кушают энергию.. в общем "простаивают" с точки зрения хостера) 13 суток (почти полмесяца!) без каких-либо упомянутых действий с Вашей стороны (банально предупредить, мол, да.. они нужны, оплачу, сносить не нужно)

Вон, в соседней ветке на hosting_manager жалуются, что у них довольно жёсткое напоминание об оплате.. (VPS (!))

dokker555:
У меня, например, впс продлен до 1.10, но оплатить почему-то мне надо до 20 числа, если не произведу оплату, то 21 числа могут приостановить впс, не могу понять почему так? Более 10 лет работаю с разными хостерами, никогда такого не встречал еще.
LEOnidUKG:
И прям спасает ситуацию?

Прям да.. =) А почему нет? MySQL поумнел, но ещё есть к чему стремиться..

Ан нет.. нифига не поможет..

В общем, если структуру не изменять (rating в первую таблицу не выносить) всё так же вижу один из вариантов:

а) Уходить от JOIN-а в сторону подзапроса (тут вряд ли прокатит)

б) JOIN-ить с выборкой с меньшим количеством записей (выбрать по рейтингу исходя из данных)..

в) условия из WHERE перенести в ON

Я больше к последнему склоняюсь.. =)

LEOnidUKG:
У меня дикая идея, если по рейтингу сортировать то менять местами JOIN

https://www.percona.com/blog/2006/09/01/mysql-order-by-limit-performance-optimization/

Sort by column in leading table if you have JOIN with ORDER BY … LIMIT you should try hard to have sorting column(s) to be in the leading table. If ORDER BY is going by field from the table which is not first in the join order index can’t be used. Sometimes it means breaking normalization and duplicating column(s) you’re going to use in ORDER BY in other table.

Но, судя по Explain-у, MySQL (поумнел)) вполне нормально пользует индексы из "вторых" таблиц (если не используется сортировка по полям первой, конечно))

Конкретно в этом случае есть более интересный вариант.. :D

SELECT p.id, p.autor, p.date, p.title, p.category, e.rating, e.vote_num FROM dle_post p FORCE INDEX(PRIMARY)
LEFT JOIN dle_post_extras e ON (p.id=e.news_id) WHERE p.category IN ('1') AND date < '2019-09-14 16:22:23' AND approve=1 LIMIT 0,100
lutskboy:
но если брать любое поле с таблици е и сделать по нему ORDER BY то 15-17сек

Да, фактически так и получается https://forums.mysql.com/read.php?115,519488,520284#msg-520284

only way to improve the query performance is to have the filtering and sorting columns in the same table and create a combined index for them?

Единственный способ - иметь поля, по которым проводится отбор и сортировка в одной таблице.

Yes. This is because it cannot do the LIMIT until after the SORT (ORDER BY), which cannot start until it has looked at all the rows in both tables.
One possibility -- Maintain (redundantly) another table with _only_ the valid rows.

Вариант с подзапросом мог бы прокатить.. если подзапросом значительно удастся количество записей уменьшить...

Т.е. по фэн-шую продублировать rating в первую таблицу.. и обновлять его.. или триггером, или по cron-у.

---------- Добавлено 16.09.2019 в 20:50 ----------

LEOnidUKG:
Я бы ещё профилирование сделал запроса, чтобы точно посмотреть, из-за чего там идёт такое.

Из-за temporary + filesort и идёт.

lutskboy:
функция копирования текста есть

Смотря какая функция..

https://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript

copyToClipboard взять отсюда https://jsfiddle.net/fx6a6n6x/


text = $('.full').text();
copyToClipboard(text);

Есть предположения.. пробовать надо.

Если нет опасений - можете скинуть доступ в личку. Кроме добавления индексов и запросов на выборку делать ничего не буду..

lutskboy:
не помогло.

Что Explain говорит?

lutskboy:
как мне скопировать ето все в буфер обмена чтоб вышло вот так

Выделить и Ctrl+C

Добавьте индекс в таблицу e

 (news_id, rating)

Sitealert, взгляд на ситуацию может меняться в зависимости от типа/масштаба проекта и количества человек, задействованных в нём.

Так-то "программист" может и сервак поднять-настроить/сконфигурировать (собственно, изначально и встал вопрос в "необходимости администратора" vs решение задач администрирования) - это администрирование, и кнопочку съехавшую на место вернуть (это вёрстка), и иконку подобрать для какой-нибудь мелочи (это дизайн.. а если углубляться, юзабилити), и JS подправить (это фронт), и баг найти (тестирование), и обратную связь от пользователя принять (саппорт?)..

Смысл в том, что всё "дополнительное".. оно так или иначе связано с проектом, с бизнес-процессами.. но к программированию относится примерно в равной степени.

Всего: 4907