На самом деле концепции важнее всего.
Есть от опытных программистов такой совет - если ты пришел в программирование делать свой проект, то делай его на чём можешь как можно быстрее, а если упадёшь в изучение всех фреймворков, то может произойти всякое, например, забьёшь на разработку своего проекта.
Можно мне рабочий пример где у вас будет это делаться по 10-15 секунд.
Когда вы увидете сколько пользователей для этого необходимо задайте себе следующий вопрос.
Через сколько лет у вас будет столько пользователей.
Мне этот код вообще ни о чём не говорит. я не знаю что там внутри и как работает.
Чтобы сразу писать хорошо. Нужно иметь 10+ лет опыта.
Выбор решения "оптимального в данном случае не понятен" тк как там множество факторов и по одному коду это сделать нельзя.
Есть решения которые мы можем делать. Но это не такой случай)
Мб лучшее вообще создать структуру данных дерево?
На текущем уровне думать об этом особо бесполезно.
Технический долг это не создаёт.
Значит нужно отложить на как можно поздний срок.
Когда действительно этот код создаст нагрузку у вас уже будут другие знания.
На текущем уровне старайтесь решать задачи и понимать как и что происходит.
Это всё что мы можем.