Ответы пользователя по тегу SQL
  • Как в SQL убрать подзапросы в BETWEEN?

    @IgoNsk
    backend web developer
    Мне кажется проблема здесь в использовании переменных @first_start_time, @second_start_time . Если в запросе используются переменные, то его результаты не кешируются на уровне MySQL. Если во вложенном запросе нет никаких условий, связывающих его с внешним запросом, то результат его выполнения кешируется, иначе вычисляется для каждой строки заново.

    Ну и почти любой подзапрос можно переписать в виде JOIN, только даст ли это выигрыш по производительности. Ибо мне кажется затык в переменных.

    Подзапрос можно убрать так
    from
     ...
     join Event as FirstEvent
       on FirstEvent.place_id = g.place_id
    
     where
     ..
     and FirstEvent.event_id = @first_event
    Ответ написан
    3 комментария