Как бороться с задумчивостью мускула?
- Предыдущая
- 1
- 2
- 3
- Показаны 31-42 из 42
В robots.txt Crawl-delay: 100
В robots.txt Crawl-delay: 100
С добрым утром! В гугле и недавно в яше это уже не работает.
Утро доброе!С добрым утром! В гугле и недавно в яше это уже не работает.
И как теперь с этим бороться?
Пока закрыл перелистывание комментариев
Disallow: /comments/all?page*
Но все равно надо что-то придумывать…
Метод кеширования выбрать файлы, поставить кэш на недельку, запустить на кроне скриптик чтоб прошелся по всем страничкам с комментами и нагенерировал кэш файлы и посмотреть как яша быстро пройдется по сайту.
либо все же не жадничать и докупить ресурса на VPS руб за 500-700.
Сейчас стоит 2 минуты. И то народ возмущается, почему посты на форуме с задержкой появляются.поставить кэш на недельку
Не прикупить ли мне выделенный сервер для яндексовых упражнений?не жадничать и докупить ресурса на VPS руб за 500-700.
Пока нормально работает это решение:
instantcms.ru/forum/thread28414-2.html#284257
А дальше посмотрим, может что новое в голову придет или кто-нибудь что интересное предложит…
Это функция инстанта getComments().
Я только дорисовал подзапрос с выборкой ид по лимиту.
Так оно и работает правильно, когда с подзапросом:Что подзапрос и должен заниматься фильтрацией — тогда это будет работать правильно.
SELECT i.*, r.score AS is_rated, u.nickname AS user_nickname, u.avatar AS user_avatar FROM cms_comments i JOIN (SELECT id FROM cms_comments WHERE is_deleted IS NULL ORDER BY id DESC LIMIT 961880, 20 ) c ON c.id = i.id LEFT JOIN cms_users AS u ON u.id = i.user_id LEFT JOIN cms_comments_rating AS r ON r.comment_id = i.id AND r.user_id='86' WHERE (i.is_deleted IS NULL) AND (i.is_approved = '1') ORDER BY i.date_pub DESC LIMIT 20 Время выполнения 1.07298 секунд
# TIME: 180306 11:28:25 # USER@Host: ******** @ localhost [] # Thread_id: 115670 Schema: ***** QC_hit: No # Query_time: 31.944684 Lock_time: 0.000539 Rows_sent: 20 Rows_examined: 1853053 SET TIMESTAMP=1520324905; SELECT i.*, r.score AS is_rated, u.nickname AS user_nickname, u.avatar AS user_avatar FROM cms_comments i LEFT JOIN cms_users AS u ON u.id = i.user_id LEFT JOIN cms_comments_rating AS r ON r.comment_id = i.id AND r.user_id='0' WHERE (i.is_private = '0') AND (i.is_deleted IS NULL) AND (i.is_approved = '1') ORDER BY i.date_pub DESC LIMIT 926580, 20;
Так оно и работает правильно
Нет. Без фильтрации листов может быть больше. То есть на последнем листе с этим подзапросом на самом деле не последние записи, на некоторых листах будет меньше 20 записей, ладно хоть сортировка по ид совпадает с по дате.
Я давно уже дописал фильтрацию и в подзапрос. Это видно там в первом спойлере.
JOIN (SELECT id FROM cms_comments WHERE is_deleted IS NULL AND is_approved = '1' ORDER BY id DESC LIMIT 961880, 20 ) c ON c.id = i.id LEFT JOIN cms_users AS u ON u.id = i.user_id LEFT JOIN cms_comments_rating AS r ON r.comment_id = i.id AND r.user_id='86' ORDER BY i.date_pub DESC
- Предыдущая
- 1
- 2
- 3
- Показаны 31-42 из 42