Как я вижу, вы просто используете $row['message']
из подготовленного утверждения. Попробуйте выполнить следующий запрос:
"SELECT message
FROM User
WHERE ID = :id
ORDER BY timeStamp DESC"
Кроме того, как вы сказали, вы используете js, я полагаю, вы используете AJAX, тогда вы должны передать текущую страницу в качестве параметра и, наконец, вы можете измените запрос на что-то вроде:
"SELECT message
FROM User
WHERE ID = :id
ORDER BY timeStamp DESC
LIMIT :startingPosition, :recordsPerPage"
$startingPosition = currentPage times 50 (because you are displaying 50 items each page).
$recordsPerPage = 50
Таким образом, вы не загрузите все записи при первой загрузке страницы (что занимает 5-9 se c как вы сказали). Вместо этого он выполнит несколько запросов, по одному для каждой страницы, что довольно быстро.