Типовые ошибки при написании запросов на 1С. Евгений Гилев

Поділитися
Вставка
  • Опубліковано 11 гру 2014
  • Также в видео рассказывается, что будет изучаться на курсе - Разработка и оптимизация запросов в 1С:Предприятие 8.2 и 8.3 проекта Курсы-по-1С.рф - kursy-po-1c.ru/zapros/
    В видео рассмотрим 8 наиболее типовых ошибок при разработке запросов 1С:
    • Запросы в цикле
    • Необоснованное использование вложенных запросов
    • Не корректное использование условий в запросах
    • Использование таблиц значений
    • «Бомба», заложенная в разыменовании полей
    • Непопадание в индекс в условиях и соединениях
    • Создание динамических запросов
    • Получение ссылочных полей в запросе

КОМЕНТАРІ • 29

  • @user-hz3we1uu5v
    @user-hz3we1uu5v 5 років тому +3

    Используйте временные таблицы, особенно когда они большие, и напрягайте tempdb, чтобы администраторам было веселее жить (отлавливать блокировки)...
    а если еще и потом в запросе к реальным таблицам вставлять условие IN с этими большими временными таблицами, да еще и выборка большая, вообще будет красота! ))))

  • @iovmail
    @iovmail 9 років тому +1

    На дату не посмотрел. Ну а что интересный курс куплю пожалуй.

  • @ivanlapin8699
    @ivanlapin8699 8 років тому +2

    Посмотрел видио , какраз перед этим написал запрос с 6 или в условии который очень долго работал так как база огромная . Начал оптимизировать. Создал ВТ с выборкой основной таблицы и заменил или на 6 обединений первой ВТ , перед тем проиндексировал поля и запрос начал работать 20 медленее.

    • @Kursypo1C
      @Kursypo1C  8 років тому

      Иван, да, такое может получиться, что после корректировки запрос станет работать медленнее.
      В видео указаны наиболее общие рекомендации для оптимизации запросов. На практике может потребоваться дополнительный анализ.
      Рекомендация разбивать запрос с ИЛИ на объединение отдельных запросов направлена на то, чтобы система смогла использовать существующие индексы. Так что необходимо смотреть план запроса до изменений и после, сравнивать их, выяснять, что привело к замедлению.
      Подробно проблемы оптимизации и способы их решения (в том числе и запросы) разбираются в специальном курсе "Ускорение и оптимизация систем на 1С:Предприятие 8.3 (2016)" курсы-по-1с.рф/1c-v8/optimization/
      Также рекомендуем ознакомиться со статьей на нашем сайте про временные таблицы: курсы-по-1с.рф/articles/временные-таблицы-3-вопроса

  • @kriokth_project
    @kriokth_project 2 роки тому

    Немного не в тему урока: надо было может перед каждым видео-блоком с проблемой на доске сначала немного написать о проблеме и затем включать запись. И так далее: заготовка - съемка (вы ведь все равно доску стирали в промежутках). А так спасибо огромное, помогли в некоторых моментах)) !!

  • @sodz5144
    @sodz5144 3 роки тому +1

    Я бы еще упомянул дурную склонность многих к использованию в запросах Значение(), при больших входных таблицах сильно падает производительность. Много лет назад приучился использовать передачу значения в параметре.

  • @nikitaleleko6672
    @nikitaleleko6672 8 років тому +6

    Про вложенные запросы vs временные таблицы.
    Временные безусловно удобнее для отладки, однако со временными плохо работает Компоновщик.
    Не раз оптимизировал СКД-шные запросы переносом временных таблиц в подзапросы.

    • @alexeibelousov3279
      @alexeibelousov3279 6 років тому

      крутая оптимизация) вам бы вкладку компановка посмотреть, что бы не нужно было так "оптимизировать"

    • @user-hz3we1uu5v
      @user-hz3we1uu5v 5 років тому

      Вам бы с tempdb на больших, нагруженных базах поработать....

    • @Kursypo1C
      @Kursypo1C  5 років тому

      Если компоновщик формирует не такой текст запроса, как ожидается получить, можно использовать в запросе конструкции в фигурных скобках, т. е. явно указать системе, как следует обрабатывать отборы или накладывать условия в параметрах виртуальных таблиц.

  • @alexeibelousov3279
    @alexeibelousov3279 6 років тому +3

    Наверняка курс интересный. Заинтересовало что же это за новый функционал в 8.3 который позволяет изменять текст запросов без СтрЗаменить например. СхемаЗапроса? ну так СхемаЗапроса запроса то это не то совсем..СКДшная компановка с заданием условий на закладке компановка, но там то же свои ньюансы да и появилось это еще в 8.1 если не ошибаюсь..
    Кстати раньше использовал построитель, он понимал условия в фигурных скобках

    • @Kursypo1C
      @Kursypo1C  6 років тому

      Да, речь идет про объектную модель запроса и новый объект встроенного языка СхемаЗапроса. Она появилась только в платформе 8.3.5. Схему запроса можно использовать для динамического изменения теста запроса в программном коде в зависимости от тех или иных условий. Так можно избежать сборки текста запросов из отдельных кусочков. Примеры использования схемы запросов уже можно встретить в типовых конфигурациях.
      Построитель отчета и компоновка данных действительно появились в платформе намного раньше.

  • @Sipluy
    @Sipluy 6 років тому +5

    Объясните пожалуйста, почему сняли с продажи базовый и продвинутый курсы по программированию? Видел объяснение, что они якобы устарели, но что там могло устареть? На мой взгляд это был идеальный курс для подготовки специалистов, взамен которому сейчас предлагаются отдельно надерганные куски - скд, запросы, формы. На мой взгляд при таком подходе образование не может быть систематизированным и у специалиста в итоге будут обрывочные знания.

    • @Kursypo1C
      @Kursypo1C  6 років тому

      Да, Базовый и Продвинутый курсы были сняты с продаж, так как они были записаны довольно давно и часть материалов уже потеряли актуальность.
      Но запись новых полных курсов по Программированию от А до Я мы не планируем. Вместо этого действительно записаны отдельные курсы по разным темам, чтобы каждый мог выбрать для себя именно то, что потребуется ему для работы.

    • @IlyaLeontyev
      @IlyaLeontyev 5 років тому +2

      Мне наоборот идея существования полного курса от А до Я всегда казалась странной. Если человеку нужно изучить только СКД, например, ему придется покупать весь курс целиком и переплачивать за это кучу денег.
      А стоимость такого курса придется делать максимально низкой, что, скорее всего, будет несоизмеримо с затраченными на него усилиями. При всем при этом он все равно будет стоить неприлично дорого для большинства потенциальных слушателей... Юрлица-то закупятся, а физлица не потянут.
      Так что тут без вариантов надо делить на блоки.

  • @user-pw7dp6uc3m
    @user-pw7dp6uc3m 8 років тому

    Добрый день. Помогите пожалуйста в следующем вопросе. На данный момент я прохожу курс, обучение программировани. 21 день. Этот курс бесплатный . ПО прохождению его, какой курс следующий. Как для новичка по восходящей.

    • @Kursypo1C
      @Kursypo1C  7 років тому

      Доброго дня, Алексей!
      Рекомендуем ознакомиться с курсом 1С:Программист - Быстрый старт в профессию" - www.spec8.ru/1c-prog-fast-start

  • @nepomnyashiy.s
    @nepomnyashiy.s 8 років тому +3

    Используйте микрофон-петличку, при съемке. Очень плохо слышно.

    • @Kursypo1C
      @Kursypo1C  8 років тому +2

      +Сергей Непомнящий Ок, встречайте в новых видео :)

  • @sodz5144
    @sodz5144 3 роки тому +5

    Динамические тексты запросов это злое зло. Кстати а что за возможности такие в 8.3 для их редактирования в конструкторе?

    • @elusive_joezod733
      @elusive_joezod733 2 роки тому

      Тоже интересно. Я только начал проходить курс, но очень хочется узнать.

  • @abris9
    @abris9 7 років тому +15

    аааа ошибка! 100*(t1+t2) должно быть

    • @Kursypo1C
      @Kursypo1C  7 років тому

      Да, спасибо за сообщение. Тут ключевой момент - объяснение, почему запрос в цикле существенно влияет на производительность.

  • @i292555
    @i292555 6 років тому

    а где ваш курс?

    • @Kursypo1C
      @Kursypo1C  6 років тому

      Полный каталог курсов: курсы-по-1с.рф/courses/
      Страница курса "Разработка и оптимизация запросов в 1С": курсы-по-1с.рф/1c-v8/development-optimize-queries/

  • @user-wr2fk3sd5j
    @user-wr2fk3sd5j 3 роки тому

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

    • @sodz5144
      @sodz5144 3 роки тому

      Ну у индексирования две стороны. А временные таблицы с большими выборками, как по мне, это моветон.
      Даже в биллинговой системе индексирование временных таблиц мне не понадобилось ни разу, вот уж где данных много, причем концентрация в небольшом количестве основных таблиц(до 10).

  • @user-yg1wt3qe4w
    @user-yg1wt3qe4w 5 років тому

    В 2019м году актуально?

    • @Kursypo1C
      @Kursypo1C  5 років тому +1

      Да, на начальном этапе обучения курс остается актуальным.