Задать вопрос
  • Бесплатное ПО для удалённого управления (Windows)?

    @drboboev
    Попробуйте aeroadmin. На странице сравнения лицензий, можете посмотреть возможности бесплатной версии.
    Ответ написан
    Комментировать
  • Где необходимо размещать componentDidMount и componentDidUpdate?

    @drboboev
    В компоненте, который ты отрисовываешь.
    Ответ написан
    Комментировать
  • Как лучше организовать сущности в Doctrine?

    @drboboev Автор вопроса
    FanatPHP , Ольга Свистунова insert запросы при парсинге. У меня сущность Entry содержала в себе поля product_id, territory_id, month, sum что означает, что записи записывались отдельно по каждой территории/месяцу/продукту/типу записи отдельной строкой в БД. И при записи получается много запросов и при выборке уже имеющихся данных из БД получается затратно.

    Решил сделать иначе, изменил month на year, изменил тип поля sum с int на json_array, храню в БД одной строкой данные за весь год, при грубом расчёте количество запросов к БД при insert сократилось в 12 раз. и при выборке тоже, именно время взаимодействия с БД сократилось, в контроллере происходит конвертация json в array, что не занимает много времени.

    Не знаю, можно ли еще как то оптимизировать количество запросов и скорость выполнения.

    P.S. При insert запросе "flush" один.
    Ответ написан
  • Как посчитать сумму детей необходимого узла за каждый день месяца (Nested Set)?

    @drboboev Автор вопроса
    ThunderCat
    таблица structure
    поля: id, name, left_key, right_key, level

    Когда мне нужно посчитать продажи за месяц, я использую запрос
    SELECT *, (SELECT getTreeSum(left_key, right_key, startDate, endDate)) as sum FROM structure
    LEFT JOIN sales ON structure.id = sales.structure_id
    WHERE left_key >= левый_ключ_необходимого_узла AND right_key <= правый_ключ_необходимого_узла
    и все работает, правда делается два запроса, но это не так критично. getTreeSum это моя функция, которая считает сумму всех дочерних узлов за определенный период startDate - endDate.

    Но если делать по аналогии за каждый день, то получается длинный запрос (потому что по каждому дню параметры будут startDate = endDate и запрос будет выполнятся долго, потому что получается запросов 1 + количество_дней_в_месяце. Т.е. минимум 28 запросов! Вот я и хочу найти более быстрый запрос
    Ответ написан
  • Как посчитать сумму дочерних элементов по полю (Nested Sets)?

    @drboboev Автор вопроса
    Пример дерева для наглядности

    • Родитель 1: 25шт (5 + 15 + 5)
      • Потомок 1.1: 5шт
      • Потомок 1.2: 15шт
      • Потомок 1:3: 5шт

    • Родитель 2: 45шт (20 + 25)
      • Потомок 2.1: 20шт (5 + 15)
        • Потомок 2.1.1: 5шт
        • Потомок 2.1.2: 15шт

      • Потомок 2.2: 25шт

    Ответ написан
    Комментировать