Задать вопрос
Diversia
@Diversia

Как сравнить записи по свойствам?

Пользователи проходят тест, состоящего из 40 вопросов у которого НЕТ ПРАВИЛЬНОГО ответа, сохраняются просто варианты ответов. Вопросы с один вариантом ответа. Кол-во пользователей прошедших тест (кол-во результатов) может быть десятки тысяч. Каждый новый пользователь проходит тест, а результат заносится в таблицу (т.е. со временем появляются новые).
Пользователь добавил свой результат, который нужно сравнить с другими результатами и вывеси таблицу с сортировкой от лучшего к худшему (наиболее подходящему). Как оптимально с точки зрения производительности решить эту задачу?

Важно! Каждый новый пользователь со свои результатом - это эталон правильных ответов по отношению к другим.

Вариант 1 (неудачный). Создать таблицу со 40 свойствами. Заполним ее 10000 записями (к примеру). Далее выбираем одну из записей и сравниваем ее с остальными. Т.е. будет фильтр по записям (полям записи). В этом варианте будут выбраны только точно совпавшие записи и не будет возможности построить таблицу с сортировкой от лучшего к худшему.

Вариант 2 (неудачный). Через цикл открывать каждую запись и сравнивать свойства, создавая новый массив для построения таблицы. Но записей много и сервер загнется.
  • Вопрос задан
  • 232 просмотра
Подписаться 2 12 комментариев
Подписчики вопроса 2 К ответам на вопрос (6)