- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
http://club.shelek.ru/viewart.php?id=307
Miracle,
Обратите внимание при анализе способов вот на какой момент.
Базовый это просто рут-чайлд, универсальный способ для всего.
За универсальность Вы платите некоторой усложненностью при построении запроса на выборку (как бы то ни было но select * from cat where subroot in (2,3) несколько проще чем запрос из нескольких джоинов) и некоторой замедленностью оной (прямая выборка под ключам, против хитроджоина или кучи запросов на выборку).
Именно поэтому используют Materialized path например или nested sets, а не просто так:)
Materialized path в текстовом поле по сути просто кэширование, разнеся на 3 (2? смотря что там под 3 уровнями подразумевается вложенности. ) отдельные целочисленные поля Вы улучшите размер таблицы и скороть оной (по сути то что мы предложили, это просто легкий вариант MP).
Поэтому если у Вас реально вложенность ограниченная, то подумайте стоит ли Вам охватывать неограниченные просторы.
И еще момент. Хитроджоин при выборке из рут-чайлд он псевдохорош в плане реализации идеи неограниченной вложенности. Потому что когда речь заходит о действительно хорошем уровне вложенности (не 3), то рут-чайлд или кладет мускул при хитроджоине или Вы начинаете генерить кучу запросов (что бы не хитроджоинить кучу уровней).
Впрочем если у Вас задача какая-то совсем банальная, то рут-чайлд вполне сгодится, хотя бы с точки зрения привычности понимания для других программеров которые потом будут ковыряться в коде.
Но в любом из методов который бы вы не выбрали (AL, MP, NS), советую добавлять поле level (классические варианты этого обычно не подразумевают) ... это значительно упрощает запросы и соответственно сказывается на их скорости выполнения
http://habrahabr.ru/blogs/development/47280/