Можно ли использовать nested sets для больших таблиц?
Есть задача построить дерево пользователей.
По принципу пирамиды, я пригласил 3, те 3 еще 3, потом те 9 еще по 3 и так далее.
Задача состоит в том, что бы получать конкретную линию конкретного пользователя.
Например:
Пользователь 1
- пользователь 2 (1 линия )
- пользователь 5 (2 линия )
- пользователь 6 (2 линия )
- пользователь 7 (2 линия )
- пользователь 3 (1 линия )
- пользователь 8 (2 линия )
- пользователь 9 (2 линия )
- пользователь 10 (2 линия )
- пользователь 4 (1 линия )
- пользователь 11 (2 линия )
- пользователь 12 (2 линия )
- пользователь 13 (2 линия )
Например я хочу получить 2 линию Пользователя 1, это будут:
пользователь 5,6,7,8,910,11,12,13
Так вот основной вопрос, можно ли работать с nested sets с таблицами более 1 000 000 записей ? Тоесть возникнут ли какие-либо проблемы со скоростью получения данных и тп ?
Я думаю сделать так, когда пользователь регистрируется сразу не менять ключу, а это это будет долго. Оставить данное дело за кроном. К примеру раз в час проверять, что там у нас как, кто зарегистрировался, чью структуру обновить. Это оптимально?
@nepster09 А смысл? Дерево не перестроили, делать по нему нормальные выборки нельзя. Почему кстати выбран NS? И откуда такое большое дерево? Мне слабо вериться, что к вам бежит регаться миллион юзеров. Преждевременная оптимизация зло. Нужно исходить из реального размера дерева, его ветвистости и требований быстроты выборки. Может оказаться, что AL или MP будут для задачи более оптимальными. Не говоря уже про возможные модификации в духе разряженного NS.