вопрос
          
        
        Добрый день! 
Подскажите пожалуйста, как максимально ускорить отдачу главной страницы на большой базе mysql?
Найдена на просторах интернета небольшая инструкция, подскажите как применить, в каком файле подправить сам запрос?
По дефолту представлен следующий запрос:
С помощью него mysql отдает ответ за 3.1171 сек. Я чуть чуть подкорректировал его и привел к такому виду:
Данный запрос отрабатывает за 1.3736 сек.
Добавьте в сортировку поле dle_post.id и передавайте в запрос dle_post.id и dle_post.date из последней строки предыдущей выборки. Будет такой запрос:
  
        Подскажите пожалуйста, как максимально ускорить отдачу главной страницы на большой базе mysql?
Найдена на просторах интернета небольшая инструкция, подскажите как применить, в каком файле подправить сам запрос?
По дефолту представлен следующий запрос:
SELECT p.id, p.autor, p.date, p.short_story, 
   CHAR_LENGTH(p.full_story) as full_story, 
   p.xfields, p.title, p.category, p.alt_name,
   p.comm_num, p.allow_comm, p.fixed, p.tags, 
   e.news_read, e.allow_rate, e.rating, e.vote_num, 
   e.votes, e.view_edit, e.editdate, e.editor, e.reason 
FROM dle_post p LEFT JOIN dle_post_extras e ON (p.id=e.news_id) 
WHERE approve=1 AND allow_main=1 AND date < '2017-05-18 14:23:53' 
ORDER BY date DESC LIMIT 182208,48С помощью него mysql отдает ответ за 3.1171 сек. Я чуть чуть подкорректировал его и привел к такому виду:
SELECT p.id, p.autor, p.date, p.short_story, 
    CHAR_LENGTH(p.full_story) as full_story, 
    p.xfields, p.title, p.category, p.alt_name, 
    p.comm_num, p.allow_comm, p.fixed, p.tags, 
    e.news_read, e.allow_rate, e.rating, e.vote_num, 
    e.votes, e.view_edit, e.editdate, e.editor, e.reason 
FROM dle_post p LEFT JOIN dle_post_extras e ON (p.id=e.news_id) 
    JOIN ( SELECT id 
           FROM dle_post 
           WHERE approve=1 AND allow_main=1 
              AND date < '2017-05-18 14:23:53' 
           ORDER BY date DESC LIMIT 182208,48 
         ) as t ON t.id = p.idДанный запрос отрабатывает за 1.3736 сек.
Добавьте в сортировку поле dle_post.id и передавайте в запрос dle_post.id и dle_post.date из последней строки предыдущей выборки. Будет такой запрос:
SELECT p.id, p.autor, p.date, p.short_story, 
   CHAR_LENGTH(p.full_story) as full_story, 
   p.xfields, p.title, p.category, p.alt_name,
   p.comm_num, p.allow_comm, p.fixed, p.tags, 
   e.news_read, e.allow_rate, e.rating, e.vote_num, 
   e.votes, e.view_edit, e.editdate, e.editor, e.reason 
FROM dle_post p
LEFT JOIN dle_post_extras e ON (p.id=e.news_id) 
WHERE approve=1
      AND allow_main=1
      AND (p.date < @last_date
           OR
           (p.date = @last_date
            AND p.id = @last_id))
ORDER BY date DESC, id DESC
LIMIT 48;
 
				 
				 
				