Сейчас я выбираю 3 случайные строки из таблицы, используя ORDER BY Rand();
, как указано во всем Интернете, этот метод выполняется очень медленно. Я использую его в базе данных с 30 строками, и для возврата значения требуется много времени. Большинство других решений, которые я нашел, возвращают только одну строку. Каков наилучший способ вернуть несколько случайных строк?Случайно получить несколько строк из таблицы
$get_projects_query =
mysql_query(
"SELECT p_id FROM project_data WHERE p_featured='1' ORDER BY Rand() LIMIT 3"
) or die(mysql_error());
while($project_row = mysql_fetch_array($get_projects_query)) {?>
//Do stuff
}
//end three random featured projects loop)
@BandonRandon - Вы должны проверить, какая часть/метод работает медленно. `order by rand()` не будет замедляться в таблице только с 30 строками. – ajreal 2010-12-02 07:37:18
Вы уверены, что на самом деле этот запрос длится так долго? – Gumbo 2010-12-02 07:39:00
@ajreal, мне интересно, медленный ли мой сервер или факт загрузки изображений. humm ..... – BandonRandon 2010-12-02 07:40:49