Секреты 1С Эксперта 08-01. Оптимизация запросов.

preview_player
Показать описание
• Этапы выполнения запросов СУБД;
• Соединения таблиц;
• Условия поиска по индексу;
• Условия неоптимальности запросов;
• Распространенные ошибки;
• Распространенные заблуждения.
Рекомендации по теме
Комментарии
Автор

Спасибо, неожиданно интересное и познавательное видео.

ladas
Автор

Спасибо! Задаете уровень (круто). В очередной раз удивили. По поводу временных таблиц в MS SQL, аж полез в доки за бОльшими подробностями, - одно из условий кэширования временных таблиц в озу, это отсутствие создания индекса на уже созданную временную табл. Открываю профайлером исполнение запроса 1С с временной таблицей с индексом
CREATE TABLE #tt1 (...)
CREATE CLUSTERED INDEX idx1 ON #tt1 (_Q_000_F_000RRef)
Обалдеть!) Соотв., когда индекс не создается, данное условие выполняется и сервер полностью держит временную табл. в кэше.
ЗЫ А вот если бы таблица создавалась уже с индексом, тогда была бы кэшированная временная таблица:
CREATE TABLE #tt (A INT IDENTITY(1, 1) PRIMARY KEY CLUSTERED, ...)

vasiliynet
Автор

Великолепная подача!! Мне, с опытом работы в несколько лет, было мега полезно и познавательно узнать правила работы на уровне СУБД, правила оптимизации, примеры заблуждений с примерами. Очень вовремя наткнулся на это видео. Раньше не понял бы и половины терминов, а сейчас все понятно, но не знал тонкостей.
Спасибо!

tkojzmh
Автор

Спасибо, много лет программирую, но некоторые моменты не знал.

ozoldbergozoldberg
Автор

Очень грамотно подан материал, спасибо за урок было интересно, освежил знания + получил новую информацию. Кстати, в типовых конфигурациях очень часто вижу соединения с виртуальными таблицами и между виртуальными - это неграмотность программистов или что? З, Ы, как то вообще пришлось искать узкое место в запросе который выполнялся при открытии документа "УстановкаЦенНоменклатуры" в ERP: стандартно несколько минут открывался, после оптимизации за 5 сек. Ещё хотел поэкспериментировать с READ UNCOMMITED В MS SQL в 1C в автоматическом режиме управления блокировками, не подскажете, можно ли это сделать выставив его а самом SQL сервере или 1С всегда его выставляет в автоматическом в REPEATABLE READ?

jtxrvin
Автор

Крутой материал! только вот мучает вопрос, а почему тогда при сдаче на специалиста препода наоборот говорят нужно все вт индексировать и лучше использовать мнеджер временных таблиц?

phsjqrn
Автор

А можно ли помочь sql с оптимизацией разбив большой запрос на несколько маленьких? При помощи какого инструмента это можно сделать? Менеджер временных таблиц? Или по сути это то же самое что использовать поместить ВТ_.... и sql воспринимает это как один большой запрос?

Vasily
Автор

33:35 разве условие "ИНН В (&Список)" не эквивалентно "ИНН = Значение1 Или ИНН = Значение2 ИЛИ ...", что не позволит использовать индекс и приведет к скану таблицы?

ArtHBar