Loading...
Помощь по скриптам | база или вывод
TuT (25.02.2020 в 15:58)
Что ты именно хочешь? Можно по точнее. Тогда уже будет ясно как реализовать твой вопрос. По сути лучше в SQL решить, но опять, зависит от задачи. А точной задачи не ясно

Реализовать вывод случайных 10 строк из 50.
Сейчас через базу выводится, но нагрузка когда этим занимаются 5-10 человек высокая. Вот я и спрашиваю, через rand быстрее ли будет и как сделать
Baymax (25.02.2020 в 16:48)
Реализовать вывод случайных 10 строк из 50.Сейчас через базу выводится, но нагрузка когда этим занимаются 5-10 человек высокая. Вот я и спрашиваю, через rand быстрее ли будет и как сделать

Скинь код, как сейчас реализовано.
TuT (25.02.2020 в 17:30)
Скинь код, как сейчас реализовано.

while ($x<$count1)
{
$x++;
$in=mysql_fetch_array(mysql_query("SELECT * FROM `stat` WHERE `status` = '1' AND `id` != '14' AND `level` < '2' ORDER BY RAND() LIMIT 1"));
}

Вот вариант.
Baymax (25.02.2020 в 18:31)
while ($x<$count1){$x++; $in=mysql_fetch_array(mysql_query("SELECT * FROM `stat` WHERE `status` = '1' AND `id` != '14' AND `level` < '2' ORDER BY RAND() LIMIT 1"));}Вот вариант.

Тык естественно будет нагрузка, запрос то в цикле. С ПК буду чуть позже, набросаю пример.
Baymax,
php
$in = (mysql_query("SELECT * FROM `stat` WHERE `status` = '1' AND `id` != '14' AND `level` < '2' ORDER BY RAND() LIMIT 5"));
while($post = mysql_fetch_array($in)){

echo $post['id'].'</br>';

}

Чет я затупил сначала :-D
TuT (25.02.2020 в 23:12)
Baymax,
php
$in = (mysql_query("SELECT * FROM `stat` WHERE `status` = '1' AND `id` != '14' AND `level` < '2' ORDER BY RAND() LIMIT 5"));
while($post = mysql_fetch_array($in)){

echo $post['id'].'</br>';

}

Чет я затупил сначала :-D


это намного быстрее чем через цикл?
Baymax (26.02.2020 в 02:27)
это намного быстрее чем через цикл?

Идет 1 обращение к БД и вывод 5 элементов, так как стоит LIMIT 5. У тебя же идет 5 обращений к БД (ну или сколько ты там прогоняешь, за раз).
Так не делают, как говорит Avenax За вложенный запрос в цикл, руки под топор :-D
TuT (26.02.2020 в 02:41)
Идет 1 обращение к БД и вывод 5 элементов, так как стоит LIMIT 5. У тебя же идет 5 обращений к БД (ну или сколько ты там прогоняешь, за раз).Так не делают, как говорит Avenax За вложенный запрос в цикл, руки под топор :-D

спасибо) а то я твой вариант давно ставил и переделал на цикл неск месяцев назад *gagaga*
mysql_fetch_assoc лучше было бы (mysql_fetch_array зависит от настройки подключения)
________
посл. ред. 26.02.2020 в 03:23; всего 1 раз(а); by Wins
Baymax, Если хочешь скорость то лучше нагрузку на сервер кидать чем на бд! Так что php поверь парится потом не будешь
Онлайн: 4
Время:
Gen. 0.0988
(c) Bym.Guru 2010-2025