Я пытаюсь преобразовать мой SELECT
запрос в более быструю версию SELECT
, включая JOIN
, которую я нашел в Интернете.
Вот мой код:
$stmt->prepare("SELECT * FROM books WHERE person_id = :person_id ORDER BY id DESC LIMIT 5, 10");
преобразовать в :
SELECT l.id, value, LENGTH(stuffing) AS len
FROM (
SELECT id
FROM t_limit
ORDER BY
id
LIMIT 150000, 10
) o
JOIN t_limit l
ON l.id = o.id
ORDER BY
l.id
Я нашел этот код онлайн (последний фрагмент кода). Это должно помочь с производительностью при выполнении OFFSET
и LIMIT
. в любом случае ... вот что я пробовал :
$stmt->prepare("SELECT * FROM (SELECT id FROM books WHERE person_id = :person_id ORDER BY id DESC LIMIT 5, 10) o WHERE person_id = :person_id JOIN books l ON l.id = o.id ORDER BY l.id");
но, похоже, не работает.
любая помощь будет оценена!