Web Разработчик и проектировщик. Разрабатываю и пишу на многом, без особой привязки к конкретным языкам и технологиям.

Наибольший вклад в теги

Все теги (1)

Лучшие ответы пользователя

Все ответы (3)
  • Какова эффективность сортировки и фильтрафии по JOIN полям в MySQL / MariaDB?

    В общем случае JOIN будет медленнее, поскольку ему приходится объединять две выборки, однако сейчас такие операции хорошо оптимизированы, и разница может быть незначительна. Также это зависит от правильности индексов и объёма данных. Лучше смотреть на удобство использования, и оптимизировать, когда появятся проблемы, преждевременная оптимизация чревата).
    Про типа join'ов смотреть здесь (отличная инфографика).
    Ответ написан
    Комментировать
  • Объединение результата подзапроса с основным запросом в MySQL

    MySQL не самое изящное хранилище для иерархий, потому как не поддерживает иерархические запросы (конструкция CONNECT BY). Поэтому книжное решение вам не подойдет, придется искать обходы, а здесь все зависит от контекста:
    1. самое простое: если разделов не много, то прочитать всю таблицу, и работать с данными вне БД;
    2. если очень хочется использовать БД, нужно использовать избыточное представление: Раздел_1_ID, Раздел_2_ID, Уровень_Вложенности. В таком виде таблица описывает вложенности между всеми элементами. Для этого может подойти либо хранимая процедура, либо представление.

    P.S. Если у вас только два уровня вложенности (или нужны только два уровня), то решение друзей-товарищей ничем не хуже, да и проще всего, что я тут описал =)
    Ответ написан
    1 комментарий