![]() |
Какой алгоритм будет быстрее?
Доброго времени суток, жители форуме OSZone. Пишу Вам, не без надежды на помощь. Вопрос в следующем. Имеется база данных с таблицей размером в 10767 записей. На СУБД MySQL. Стоит на ноутбуке HP Presario CQ56 Pentium (R) Dual Core T4500 2.30 GHz. 2 Гб оперативы. ОС Win 7 Максимальная. Создал процедуру для осуществления задачи отбора случайных 25 записей из таблицы. Текст процедуры:
DELIMITER // CREATE PROCEDURE create_temp_table () LANGUAGE SQL DETERMINISTIC SQL SECURITY DEFINER BEGIN DROP TEMPORARY TABLE IF EXISTS temp_table; SET @a = 0; CREATE TEMPORARY TABLE temp_table (SELECT (@a := @a + 1) as id_num, id From questions); END В скрипте php будет генерироваться 25 случайных значений и из временной таблицы будет взято ID вопросов и осуществлен запрос на получение конкретных 25 вопросов. Что быстрее идет намного. Чем ORDER BY RAND(). Проведя нагрузочное тестирование процедуры получил следующие значения при 50 пользователях время выполнения процедуры заняло 21.967 - первый прогон, 18.469 - второй прогон. Вопрос в том, хорошие ли это показатели. Или нужно искать другой вариант решения поставленной задачи. |
Время: 21:43. |
Время: 21:43.
© OSzone.net 2001-