я нашел пример, где он генерирует случайную строку быстро: MySQL select 10 random rows from 600K rows fastГенерация случайных строк MySQL быстро и запустить тот же SQL-запрос несколько раз
Теперь я хотел бы запустить этот запрос в 10 раз, но я получаю именно тот же вывод вместо разных строк. Любые идеи, как решить эту проблему:
Вот мой код:
<?php
for ($e = 0; $e <= 14; $e++) {
$sql_users = "SELECT user_name, user_age, country, age_from, age_to, gender, profile_image, gender_search, kind_of_relationship
FROM users AS r1 JOIN
(SELECT CEIL(RAND() *
(SELECT MAX(id)
FROM users)) AS id)
AS r2
WHERE r1.id >= r2.id
ORDER BY r1.id ASC
LIMIT 1";
$statement6 = $dbConn->prepare($sql_users);
$statement6->execute();
more = $statement6->fetch(PDO::FETCH_BOTH);
?>
<?php echo $more['user_name'];?>
<?php } ?>
Ваш первый запрос занял: 0.2934 sec. Второй запрос занял: 0.0532 сек. Если я прав только на запрос, который я написал, но который мне нужно запустить 10 раз, он занимает 1 раз: 0,0009 сек. Дело в том, что мне нужно запустить это maaaaaaaany раз, и я действительно не хочу перегружать свою БД. – Mensur
@ Mensur. , , Но первый запрос - это один запрос и в основном не будет занимать больше времени, поскольку вы увеличиваете возвращаемое число. –
Моя забота о том, когда генерация sitemap.xml, где у меня на моей странице отображаются все мои пользователи из таблицы 10K +, тогда вы можете нажать на этого пользователя и посмотреть больше информации о пользователе, но также и при просмотре страницы пользователя на этой странице 10 другие пользователи будут случайным образом сгенерированы снова. Итак, мой вопрос заключается в создании файла sitemap.xml, чтобы он перегружал сайт? – Mensur