Эффективный алгоритм поиска в базе данных - PullRequest
0 голосов
/ 22 февраля 2019

Я работаю над новым проектом, в котором у меня есть 500 тыс. Вопросов для хранения в базе данных.Каждый раз, когда ученик отвечает на вопрос, этот вопрос отмечается в категории посещенная для данного конкретного пользователя.Таким образом, то, что студент должен увидеть на главной странице, это вопрос, который он никогда не посещал.Итак, моя проблема заключается в том, что если на главной странице размещено 10 вопросов, то каждый вопрос должен быть сначала сопоставлен с набором посещенных вопросов, проверьте, есть ли они в списке посещенных вопросов для этого пользователя, а затем будет опубликован наглавная страницаКак мне минимизировать время, необходимое для такого рода требований?или мой алгоритм неэффективен?

1 Ответ

0 голосов
/ 22 февраля 2019

Как насчет использования «очереди с приоритетами», где не посещенные вопросы будут обслуживаться до посещаемых вопросов.Структура данных кучи - лучший выбор для реализации приоритетной очереди.Когда какой-либо студент отвечает на вопрос, индекс этого вопроса перемещается вниз в списке приоритетов этого студента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...