Чистый код - SQL Edition

Поделиться
HTML-код
  • Опубликовано: 14 июл 2021
  • В этом видео обсудим, что такое чистый код при написании SQL запросов. Этот код можно оформлять по разному, но я поделюсь своими советами, как я предпочитаю оформлять SQL запросы, чтобы их легче было потом поддерживать.
    Обо мне: www.flenov.ru
    Мой ИТ блог www.flenov.ru и www.flenov.info
    Мой просто блог blo.moe
    Tweeter: / flenov
    Инстаграмм: / mflenov
    Телеграмм: t.me/mflenov

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

  • @MrFornitus
    @MrFornitus Год назад +9

    8:55 - "Секса у нас уже больше нету... его и не было.... " - поржал 😅

  • @user-hr4me7ei3v
    @user-hr4me7ei3v 2 года назад +15

    Советы:
    1. При SELECT указывайте конкретные столбцы в нужном порядке (не используйте SELECT * FROM). Это безопаснее, понятнее, надёжнее
    2. Указывайте колонки с новой строки, а не в одну через запятую
    3. Указывайте запятые в начале строки
    4. Фильтры ставьте не в JOIN, а в WHERE
    5. Вместо комментариев лучше использовать CTE, тк чистый код хорошо читается сам по себе
    6. Делайте отступы слева при каждом новом вложенном уровне (SELECT начинает секцию, где перечислены колонки, FROM аналогично и тп)

    • @meosaganami5472
      @meosaganami5472 2 года назад

      не раскрыта тема явного использования псевдонимов таблиц

  • @farhadhuseynov6527
    @farhadhuseynov6527 2 месяца назад +1

    Очень просто и красиво 👍

  • @iibixapb
    @iibixapb 2 года назад +2

    Как всегда - очень приятно слушать. Прикольно, когда сидишь, все это понимаешь, а автора приятно слушать .... и для себя повторяешь :) Удачи ;)

  • @user-jb7xp6ms3j
    @user-jb7xp6ms3j 2 года назад +1

    Супер мега бомбовые советы для тех, кто работает с базами данных

  • @leonid_konoplin
    @leonid_konoplin 2 года назад

    спасибо за опыт, которым делитесь

  • @ricardvitaliy9612
    @ricardvitaliy9612 2 года назад +1

    Спасибо

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

    Редкий материал. И лайков мало.

  • @user-tp5hk8yy9y
    @user-tp5hk8yy9y Год назад +2

    А что насчёт запятых, если нужно закомментировать первый столбец в селекте? После него в новой строке запятая же. Обратная ситуация

    • @Dev-lessons
      @Dev-lessons  Год назад +1

      Да, но просто ставишь какое-то число или строку, а потом комментарий
      SELECT
      1 - колонка1
      , колонка2
      , колонка3

  • @konstantink4188
    @konstantink4188 11 месяцев назад +1

    C CTE аккуратно нужно. Если CTE много и они сложные - запрос становится непрозрачен для парсера\оптимизатора и он может его не распараллелить. С случае postgres так точно. С oracle тоже не рекомендуется, потому-что hint parallel может игнорироваться и вообще план запроса оптимизатор может выбрать странный.

    • @Dev-lessons
      @Dev-lessons  11 месяцев назад

      Не знаю, как в Postgres, но в MS наоборот может повысить производительность.

  • @leonid_konoplin
    @leonid_konoplin 2 года назад +1

    Есть ли способ логическое выражение передать в WHERE или не передать, по условию? Например если какой-либо из параметров IS NULL

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

    Не знаю почему, но почему-то в нашей компании говорят, что фильтр на Join оптимальнее Where. Может это специфика продукта.
    С CTE наполовину согласен, мне лично проще прочитать Join на Subquery с отступом, чем листать обратно наверх и смотреть CTE, но только если Subquery очень элеменарный типа select id where full_name in ()

    • @Dev-lessons
      @Dev-lessons  Год назад +1

      С точки зрения скорости у MS SQL нет разницы где фильтр, оптимизатор на это не смотрит.

  • @qrthack3233
    @qrthack3233 2 года назад +4

    Название программы можно?

    • @Dev-lessons
      @Dev-lessons  2 года назад +6

      Которую использовал в видео? Это MySQL Workbench

  • @IgorGallemar
    @IgorGallemar 2 года назад +2

    Первый!!!!

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

    Бьютифаир какой нить юзайте и желательно перейти на хранимые процедуры что бы код sql не торчал в коде бэка

    • @Dev-lessons
      @Dev-lessons  Год назад

      Искуственных не использовал никогда. Видел результат их использования - не понравилось. На счет хранимых процендур говорил здесь ruclips.net/video/XTHFG5C1a4M/видео.html