Здравейте. В стремежа си да направя сайта си да работи с възможно най-малко query-та и същевременно да не губи функционалност направих няколко заявки, които обаче установих, че бавят значително работата на сайта ми. Опитах сам да открия решение, но така и не можах, та за това отново прибягвам до туриста за помощ
Та, на въпроса - някой може ли да ми предложи вариант, по който да "олекотя" заявка подобна на тази:
Благодаря предварително.
PHP:
$q = sprintf
(
'SELECT
`%1$s%2$s`.`t_id`,
`%1$s%2$s`.`t_name`,
`%1$s%2$s`.`t_description`,
`%1$s%2$s`.`t_replies`,
`%1$s%2$s`.`t_views`,
`%1$s%2$s`.`t_author_id`,
`%1$s%2$s`.`t_start_date`,
`%1$s%2$s`.`t_last_post`,
`%1$s%2$s`.`t_last_poster_id`,
`%1$s%2$s`.`t_last_poster_name`,
`%1$s%2$s`.`b_id`,
`%1$s%2$s`.`t_approved`,
`%1$s%2$s`.`t_closed`,
`%1$s%2$s`.`t_pinned`,
`%1$s%3$s`.`u_name`,
`%1$s%4$s`.`b_name`
FROM
`%1$s%2$s`
LEFT JOIN `%1$s%3$s` ON `%1$s%2$s`.`t_author_id` = `%1$s%3$s`.`u_id`
LEFT JOIN `%1$s%4$s` ON `%1$s%2$s`.`b_id` = `%1$s%4$s`.`b_id`
WHERE
`%1$s%2$s`.`t_approved` = "1"
AND
`%1$s%2$s`.`b_id` = :b_id
ORDER BY
`%1$s%2$s`.`t_pinned` DESC,
`%1$s%2$s`.`t_start_date` DESC,
`%1$s%2$s`.`t_last_post` DESC
LIMIT %5$d, %6$d', $this -> config['MySQL']['prefix'], 'topics', 'members', 'boards', $this -> pagination['offset'], $this -> config['ResultsPerPage']
);
$Results = $this -> db_query($q, array('b_id' => $b_id), 'all');
Благодаря предварително.