Эм, если что, Ваш второй вариант самый простой, третий самый сложный, а первый — гибрид предидущих. И у Вашего «самого простого» варианта, по сравнению со вторым большие накладные расходы при вставке/переносе каментов, и эти расходы на много существенней чем расходы на выборку во втором подходе.
Нужно два массива, один для дерева коментариев, а второй для ссылок на каждый элемент того дерева.
При добавлении дитя в дерево, находим по айди ссылку на нужную ветку во втором массиве и просто добавляем ему элемент. Второй массив содержит ссылки, поэтому памяти будет не так много уходить как кажется
А еще выборка будет медленней, потому как придется работать со строками, а еще если дерево будет глубокое то строки будут длинные и это опять же ударит по производительности
@tenbits Потому что я могу поставить программу от админа в папку в которую не будет записи от другого пользователя, и было бы неплохо чтоб она продолжала работать нормально.
Как пример — установка программы в program files происходит из под админа, а работа нет.
Если че, я ПХП разработчик и не вкурсе что там и как с комуникаторами =) Но мне кажется там есть аналогичные пользовательские папки. Я имел ввиду декстоп и винду. В никсовых системах тоже есть отдельная папка с настройками, это вполне хорошая практика хранить свои данные там где надо а не где хочется.