Бесплатный мини-курс
Оптимизация запросов – один из базовых навыков. Это не прихоть, а необходимость.
Всегда полезно знать, какие запросы в Вашей базе выполняются долго – медленные запросы нужно вовремя находить и устранять. Вопросы по оптимизации запросов уже стандартно задают на собеседованиях.
Наш мини-курс не закрывает полностью проблему оптимизации запросов, но Вы научитесь их отлавливать – и у Вас появится несколько простых рецептов, которые пригодятся в рабочих ситуациях.
Найдете медленные запросы
Узнаете, как анализировать запросы без контекста и работать с индексами.
Готовые алгоритмы
Разберете 4 основные причины замедления запросов и научитесь их устранять.
Инструмент «Монитор»
Освоите авторский инструмент «Монитор», который с высокой точностью «ловит» медленные запросы.
Для кого этот курс:
- Новичкам в оптимизации. Этот мини-курс — отличная возможность быстро (полтора часа) и структурно разобраться с основными приемами поиска медленных запросов и их оптимизации.
- Начали работать в фирме франчайзи. Вы не сможете проработать долго, если будете писать кривые запросы.
- Если Вы отвечаете за поддержку действующей системы. Если что-то работает медленно, то это рано или поздно приведет к конфликту, поэтому нужно уметь исправлять проблемы быстро.
- Если Вы вносите доработки в работающую систему. Чтобы потом не тратить время на переделывание своей работы, лучше сразу учесть задачи по быстродействию.
Программа мини-курса
Занятие 1: Как «поймать» медленные запросы.
Установим и настроим инструмент «Монитор», который «ловит» медленные запросы.
Монитор прост в использовании и у него высокая точность анализа. Ему не требуется подключение к интернету.
Занятие 2: Как анализировать запросы без контекста и работать с индексами.
Научимся проводить анализ на примере запроса с поиском без индекса.
Увидим, как запрос отображается в «Мониторе», и разберемся, почему у запроса может не быть контекста.
Узнаем, как создавать индексы и как ускорить реструктуризацию, обсудим минусы индексов.
Познакомимся с составными индексами, разберем, как они работают и как писать условия, попадающие в индексы.
Занятие 3: Четыре приема оптимизации для ускорения запросов.
Обсудим функцию на поле Условия и как это тормозит запрос.
Поговорим, как можно и нельзя использовать ВЫБОР КОГДА.
Разберем, когда условие ИЛИ безопасно, а когда приводит к проблемам.
Рассмотрим, как оптимизировать подзапросы через временные таблицы.
Для участников курса – Инструмент анализа производительности «Монитор»
Авторский инструмент Андрея Бурмистрова, который помогает решать проблемы производительности 1С.
Монитор позволяет проводить:
- Анализ блокировок 1С и СУБД
- Анализ взаимоблокировок 1С и СУБД
- Анализ запросов
Полный функционал бесплатно доступен участникам в течение трех месяцев.
Бесплатный функционал по анализу запросов остается у слушателей навсегда.
Автор курса – Андрей Бурмистров
Работал экспертом по технологическим вопросам на проекте ЦКТП в компании 1С в 2011 — 2012 гг. http://v8.1c.ru/expert/cts/cts.htm
В качестве эксперта участвовал в проектах по повышению быстродействия и стабильности компаний Enter, Комацу, Иркутскэнерго и многих других
Работал над оптимизацией и стабильностью 1cfresh.com на заре его появления
Проводил корпоративное обучение для компаний Связной, DHL, Иркутская нефтяная компания, QIWI, Тинькофф
Автор курса «Ускорение и оптимизация систем на 1С:Предприятие 8.3. Подготовка на 1С:Эксперт по технологическим вопросам»
Разработал авторский инструмент для выявления и анализа проблем производительности в системах 1С.
Неоднократный докладчик конференций Инфостарт
Лауреат премии Infostart Awards 2021 за вклад в области «Администрирование СУБД. HighLoad оптимизация»
Для прохождения мини-курса Вам потребуются
- ОС Windows
- 1С клиент-серверная 8.3.12 или выше
- СУБД MS SQL Server 2012 или выше (либо любые другие СУБД, кроме файловой). Можно использовать бесплатную версию Developer Edition https://www.microsoft.com/ru-ru/sql-server/sql-server-downloads
- Свободное место на диске для учебной базы: минимум 70 Гб, желательно 100 Гб
Зарегистрируйтесь, чтобы пройти мини-курс
Этот курс поставляется в виде последовательной серии уроков, направляемых на электронную почту.
Это а) гарантирует, что Вы не потеряете ссылки, и б) увеличивает вероятность того, что Вы его посмотрите :)
Поэтому, пожалуйста, проверьте почту. Если Вы передумаете и не захотите получать какие-то либо письма от нас – в каждом письме есть возможность отписаться :)
А есть платная версия где учат разбирать план запросов?
Полный платный курс, по которому написан данный мини-курс, – это “Ускорение и Оптимизация 1С, Базовый курс (2022)” https://курсы-по-1с.рф/courses/optimization-base-course-2022/
День добрый!
Не могу создать второй кластер, пишет:
Ошибка создания кластера:
Ошибка операции администрирования
Не найдено ни одного сервера с размещенным сервисом
serviceName=ClusterConfigService;
Платформа 8.3.20.1710
Второй кластер желательно но не обязательно, можете создать базу в том же кластере где и рабочие базы.
Так и сделал, но хотелось бы иметь возможность, добавлять кластер, в инете ничего не нашел, то, что предлагают: типа снести папку сервера и запустить заново, переустановка 1с, ничего не помогает, на одной из работ стоит старый релиз 1с 8.3.9.1850, там получилось, на 8.3.20 и 8.3.21 ни как.
А вы в строке подключения к базе порт нового кластера указываете?
Проверьте именно этот момент с портами.
До базы не доходит, т.к. в утилите администрирования сервера 1С не создается второй кластер.
Понял, но к сожалению без подключения ничего конкретного сказать не могу.
Ощущение что у вас вас на сервере не запущен менеджер кластера, хотя такого вроде как быть не должно, либо есть ограничение по портам, поэтому новый кластер и не может быть создан на новом порту, тут только гадать остается ни видя систему.
Добрый день. Не знаю, актуально еще получить ответ на вопрос, но рискну. Я установил “Монитор” на SQL, добавил в настройках монитора сервер SQL, сервер 1С. Протестировал доступы, ошибок нет. Подождал 5 минут. Запустил на выполнение запрос (8 секунд). В настройках было указано “Минимальная длит. запроса” = 1 сек. Однако, на вкладке “Запросы”, после указания периода и базы “Монитор”, по кнопке обновить данные о запросе не появляются, как у вас на видео. То есть не отображается тестовый запрос. Не могу понять, что я делаю не так. Не подскажите?
Здравствуйте.
На закладке Базы нужно выбрать исследуемую базу и нажать Анализ – Анализ запросов, только после этого искать запрос в списке.
А-а-а, вон оно, что. То есть перед каждым анализом необходимо выполнить команду “Анализ запросов”. Как то упустил этот момент. Спасибо за помощь, помогло.
В реальных условиях на боевой базе этого делать не нужно, т.к. периодически запускаются рег. задания и анализ происходит в автоматическом режиме в фоне.
Но на учебной базе что бы не ждать пока запуститься регламент, проще и быстрее запустить анализ по кнопке :)
На почту не приходит информация. Хоть и перебрасывает на страницу первого урока после нажатия кнопки “Получить видео-уроки”, но доступа к дальнейшим урокам нет. Почта atam*********@gmail.com. До этого все письма от вас приходили. В папке спам нет. Несколько раз заполнял форму (еще несколько дней назад).
Дело в том, что 17.12.2021 Вы из одного из наших писем отписались от наших рассылок. По этой причине письма не отправляются Вам на е-мейл.
Если Вы по ошибке отписались от рассылок и хотите восстановить подписку, напишите нам об этом.
Добрый день. Возможно ли на домашнем компьютере установить:
“1С клиент-серверная 8.3.12 или выше
СУБД MS SQL Server 2012 или выше (либо любые другие СУБД, кроме файловой).”
Есть ли в курсе инструкция как это сделать?
Да это возможно, на домашние ОС эти программы спокойно ставятся.
1С является платной, MS SQL Developer бесплатна.
И 1С и MS SQL не вызывает больших проблем при установке, подробных инструкций в курсе нет, но их полно в сети.
Здравствуйте. Для Postgres SQL и ОС Ubuntu этот курс актуален?
Евгений, здравствуйте!
Приемы оптимизации будут актуальны независимо от СУБД и ОС, но вот поставить Монитор на Ubuntu к сожалению не получится.
Вы вполне можете посмотреть видео и попрактиковаться в оптимизации запросов на демо-базе и без Монитора.
Спасибо за бесплатный доступ к информации – компактно, качественно,
профессионально!
Мне, как самоучке в 1С с десятилетним стажем, хорошо было пробежаться
по основным подходам к программированию в части оптимизации запросов.
Приятно было убедиться, что я в русле основных направлений ))) – не
прошли даром уроки Е.Гилева и Ф.Насипова!)))
Успехов Вам в профессиональной деятельности и прилежных учеников!
Вам большое спасибо!
Добрый день! Записался на этот курс. Видео посмотрел, спасибо что простым и доходчивым языком объясняете как можно оптимизировать запросы, новичкам думаю будет полезно. Но я так и не нашел ссылки ни на демо базу, ни на “Монитор”. Или в рамках этого бесплатного курса предоставление Монитора не предусмотрена?
Добрый день!
База и Монитор лежат в архиве с дополнительными материалами – в первом занятии курса.
Здравствуйте. Совпадают ли имена из видеоинструкции и того, что реально будет развернуто в результате описанных в ней действий?
DemoMiniCourse (то, что вижу в SQL Management Studio) и Demo (название из видео) – это одно и тоже?
03:26 видеоинструкции: “Указываем необходимые параметры”. Исходя из чего Вы их устанавливаете? Что в них нужно записывать?
Имя базы может не совпадать, это не принципиально, по факту база та же самая т.е. да это одно и то же.
Все параметры подробно описываются в видео.
Если будут вопросы по каким-то конкретным настройкам просто напишите здесь, постараюсь помочь.
Спасибо, получилось.
Здравствуйте, получается если нет сервера и файловые базы, то не получится оптимизация или все-таки как-то можно?
Приемы оптимизации запросов в большинстве случаев универсальны, так что вы сможете применить эти знания и на файловой базе в том числе.
Курс бесплатный, вы ничего не теряете если его посмотрите даже не выполняя практические задания.
Просто тестовые примеры из курса на файловой базе не тестировались и самая тестовая база довольно большая, не уверен получиться развернуть ее в файловом варианте.
очень жаль что монитор я не могу установить
Монитор вы поставить с файловом режиме можете, просто придется вручную запускать анализ запросов т.к. рег. задания там работать не будут.
А вот базу для обучения, ввиду ее размера, развернуть в файловом режиме скорее всего не получиться.
Тем не менее курс бесплатный, в любом случае надеюсь что вы сможете узнать из него много полезного.
По поводу подзапросов и ВТ и соединения с ними. В практике бывали случаи, когда все наоборот – избавлялся от помещения данных в ВТ и соединения с ней тем, что выносил их в подзапрос. Накладные расходы на создание ВТ были слишком высоки. Еще не сказано, что если среди полей, выбираемых в подзапросе данных, есть индексируемые поля – то они (индексы) “наследуются наверх”, то есть для внешнего запроса соединение с вложенным по таким полям тоже будет быстрым (чего не происходит “автоматом” для ВТ – индексы нужно строить самому, что тоже накладно). Также интересный момент – иногда вложенный запрос, точнее соединение с ним превращается в “коррелированный” запрос, то есть, когда на каждую строку внешнего запроса системе приходится каждый раз выполнять вложенный подзапрос (вообще-то, это штатная возможность t-sql и через коррелированный подзапрос можно объявить любое поле в секции select, но нас в 1С этой возможности лишили). Толчком к такому “превращению” может послужить уровень вложенности подзапросов более чем 1 (про это тоже ничего не сказали).
Спасибо за дополнение.
Вы все верно написали, есть еще много различных деталей и нюансов работы запросов, но все это невозможно поместить в один курс, тем более мини-курс :)
Андрей, в инструменте “Монитор” ошибка. Нет доступа на запись в каталог “C:\Program Files\1cv8\conf”. Очевидно, что код выполняется на сервере (не смотрел даже, честно говоря). А у учетной записи службы (USR1CV8) прав конечно же нет. Дал права и проблема решилась (в видео тоже ни слова об этом). Не знаю, считать это ошибкой или нет. Вообще, разработка крутая, принцип тот же, что и у Гилевских сервисов (ТЖ + EE), но Вы еще прикрутили загрузку метаданных и прочие плюшки.
Еще ошибка, при попытке собрать данные после выполнения нового запроса:
{ОбщийМодуль.ОМ.Модуль(670)}: {ОбщийМодуль.ОМ.Модуль(669)}: Ошибка при вызове метода контекста (СоздатьКаталог): Имя каталога содержит недопустимые символы
Ошибка проявляется, если у элемента справочника “Сервер 1С” в имени есть запрещенные символы, например localhost:2541
1. Это не ошибка, в первом же видео подробно рассказывается о настройке инструмента. Если прав нет, то естественно нельзя будет настроить logcfg.
Возможно стоит добавить в интерфейс надпись, о том что должны быть права на запись в каталоги.
2. В качестве имени сервера 1С нужно указывать имя компьютера, т.е. без двоеточий и номера порта, тогда никакой ошибки не будет.
Да Монитор отчасти похож на сервисы Гилева, но они кстати не используют EE, в чем-то это плюс, но в где-то и минус.
Вообще планируется очень много всего доработать и добавить, в том числе добавить поддержку Linux, и много других плюшек :)
Спасибо вам за обратную связь!
Еще поймал. Загружаю файл метаданных полностью типовой БСП 3.1.4.280. Висит уже полчаса, хотя сам файл 5 Мб всего… Может зациклилось где-то что-то?
UPD: в итоге выполнилось все-таки, но что-то долго. Сколько ж будет ЕРП какая-нибудь грузиться, интересно
Спасибо, сегодня попробую ERP загрузить.
В крайнем случае сделаю загрузку фоном :)
Postgresql подойдет?
В принципе подойдет, но лучше MS SQL, можно взять Developer Edition он бесплатный, скачать можно здесь: https://www.microsoft.com/ru-ru/sql-server/sql-server-downloads
Почти у все наших клиентов используется на сервере Linux + Postgres, а клиенты Windows, потому и вопрос полезности этого курса, нужен ли он, если не предполагается работать с MSSQL?
Знания из курса безусловно будут полезны какую бы СУБД вы не использовали, но вот полностью выполнить задания с помощью инструментов из курса на сервере 1С с Linux к сожалению не получиться.
Добрый день. Пересекается ли информация в этом курсе с большим курсом по оптимизации? Если купил большой, стоит ли проходить этот?
Добрый день, блок по запросам есть в большом курсе по оптимизации.