Как ускорять SQL запросы? Explain и оптимизация запросов SQL

Поделиться
HTML-код
  • Опубликовано: 26 окт 2024

Комментарии • 22

  • @sovrinfo
    @sovrinfo Год назад +2

    Спасибо за видео. Коммент в поддержку!

    • @lets_goto_it
      @lets_goto_it  Год назад

      Спасибо! Будут вопросы или предложения по теме - задавайте

  • @yabarm
    @yabarm Год назад +2

    это просто ОФИГЕННО!

  • @Aleksey-t9b
    @Aleksey-t9b 5 месяцев назад

    Это топовое объяснение🔥

  • @Ura2404
    @Ura2404 Год назад +1

    Спасибо!

  • @TheDavBag
    @TheDavBag Год назад +4

    хотелось про эскплейн, конечно

    • @lets_goto_it
      @lets_goto_it  Год назад

      Как-то не сложилось у меня чтение в текстовом формате. Вы же про это? Если да, то для чего вам именно текстом? В pg admin есть пара кнопок для нормальной визуализации. Я тут только про одну рассказываю.

    • @TheDavBag
      @TheDavBag 11 месяцев назад

      @@lets_goto_it хотелось про планировщик, почему индексы не всегда работают (процентаж выборки), про буферы, почему важно иметь кеш запросов, про характер выборки и первоначальную цель запроса, как с помощью EXPLAIN можно изменить понимание тог, что должен делать запрос. Даже простое объяснение отличия EXPLAIN от ANALYZE

  • @leilailolo4736
    @leilailolo4736 4 месяца назад

    и зачем спрашивается тебе левый джойн, если ты в условии фильтруешь по этому полю из таблицы, котороую присоеденил, нужно было ставить обычный джойн, а условие писать в джойне, а не в where, что бы не создавать мегатаблицу

    • @lets_goto_it
      @lets_goto_it  4 месяца назад +1

      Оптимизатор это давно хорошо отруливает

  • @karinalazareva6123
    @karinalazareva6123 7 месяцев назад

    жаль, нет примеров с временными таблицами( например, в субд MS SQL - таблицы через #, ##

    • @lets_goto_it
      @lets_goto_it  7 месяцев назад

      Вы про WITH Queries (Common Table Expressions), CREATE TEMPORARY TABLE или что-то иное?

    • @karinalazareva6123
      @karinalazareva6123 7 месяцев назад

      @@lets_goto_it cte в видео видела, использую другую субд sql server, там есть возможность создать лок таблицы # или глобал ##, они же тоже помогают в оптимизации или отличий нет от cte в плане производительности? в Pg я так поняла редко используют таблицы типа #, ## (CREATE TEMPORARY TABLE)?

    • @karinalazareva6123
      @karinalazareva6123 7 месяцев назад

      @@lets_goto_it про TEMPORARY TABLE. cte и TEMPORARY TABLE есть отличия в контексте производительности?

  • @Deletedeletedelete
    @Deletedeletedelete Год назад

    какой операционкой ползуетесь?

    • @arturgspb
      @arturgspb Год назад

      macos

    • @lets_goto_it
      @lets_goto_it  Год назад +3

      MacOs с 2013-го. Начинал в 2008 на Windows, потом было много разных линуксов, потом пересел на macos и она для меня вне конкуренции теперь. Там и красиво и нормальный терминал и это все же unix-овое семейство, что чуть упрощает некоторые дела. Есть много коллег, которые на Windows работают и у них тоже все норм, ра исключением того, что не все ПО нормально под windows работает, но конкретно у них все пучком уже. На серверах только linux

    • @Pacs31
      @Pacs31 3 месяца назад

      @@lets_goto_itwsl используется?

  • @passerist
    @passerist 11 месяцев назад

    Я плакал и ждал, когда автор нажмет Shif+F7, а так же увидит, что он выбирает всю таблицу, при этом ждет от слона использования индекса. лицорука

    • @lets_goto_it
      @lets_goto_it  11 месяцев назад

      Можете указать тайминг, чтобы я проверил?

    • @РоманБледнов-ъ9и
      @РоманБледнов-ъ9и 11 месяцев назад

      9ая минута, думаю

    • @lets_goto_it
      @lets_goto_it  11 месяцев назад +4

      Спасибо за ваш коммент, я проверил - все хорошо. Это просто стиль подачи информации - от оч плохого наивного решения с разбором почему не работает до поиска лучшего решения. Собственно ровно так, как и бывает у всех в жизни. Посмотрите до 18й минуты и вы увидите все заранее подготовленные патчи и запросы - я их использую для следующих итераций оптимизации с разбором того как все же заставить базу нормально выполнять всё.