Код:
SELECT SQL_CACHE
`msg`.`msg_id`,
`msg`.`t_id`,
`t`.`b_id`,
`t`.`t_replies`,
`t`.`t_views`,
`msg`.`msg_ctime`,
`msg`.`msg_author_id`,
`t`.`t_name`,
`t`.`t_description`,
`t`.`t_is_sticky`,
`t`.`t_author_id`,
`t`.`t_last_poster_id`,
`t`.`t_replies`,
`t`.`t_views`,
`t`.`t_is_locked`,
`u`.`u_display_name` AS `t_author_name`,
`g_id` AS `t_author_g_id`,
(SELECT `g_id` FROM `forum`.`users` WHERE `u_id` = `msg`.`msg_author_id` LIMIT 1) AS `msg_last_poster_g_id`
FROM `forum`.`messages` AS `msg`
LEFT JOIN `forum`.`topics` AS `t` ON `msg`.`t_id` = `t`.`t_id`
LEFT JOIN `forum`.`users` AS `u` ON `t`.`t_author_id` = `u`.`u_id`
WHERE
`t`.`b_id` != 30
AND
`msg`.`msg_ctime` > 1334610000
AND
`msg`.`msg_author_id` != 6344
AND
`t`.`t_id` NOT IN (SELECT SQL_CACHE `LR`.`t_id` FROM `forum`.`log_read` as `LR` WHERE `LR`.`u_id` = 6344)
Ето примерна заявка.. Цялата заявка ми забавя значително системата..
Общо взето, чрез тази заявка извличам непрочетени публикации от преглеждащия. Можете ли да ми предложите някаква оптимизация на заявката или единствения вариант е кеширане?