MySQL - [решено] Какой алгоритм будет быстрее?

Ответить
Аватара пользователя
Greshnick

MySQL - [решено] Какой алгоритм будет быстрее?

Сообщение Greshnick »

Доброго времени суток, жители форуме 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 - второй прогон. Вопрос в том, хорошие ли это показатели. Или нужно искать другой вариант решения поставленной задачи.
Ответить

Вернуться в «Программирование и базы данных»