Великолепная подача!! Мне, с опытом работы в несколько лет, было мега полезно и познавательно узнать правила работы на уровне СУБД, правила оптимизации, примеры заблуждений с примерами. Очень вовремя наткнулся на это видео. Раньше не понял бы и половины терминов, а сейчас все понятно, но не знал тонкостей. Спасибо!
Спасибо! Задаете уровень (круто). В очередной раз удивили. По поводу временных таблиц в 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, ...)
А можно ли помочь sql с оптимизацией разбив большой запрос на несколько маленьких? При помощи какого инструмента это можно сделать? Менеджер временных таблиц? Или по сути это то же самое что использовать поместить ВТ_.... и sql воспринимает это как один большой запрос?
тут все упирается в то, используется жесткий диск или нет: менеджер вт - да, много данных относительно операвки - да, индекесирование - да и т.д. Необходимо искать баланс между ‘помощью субд’ и скоростью выполнения.
Крутой материал! только вот мучает вопрос, а почему тогда при сдаче на специалиста препода наоборот говорят нужно все вт индексировать и лучше использовать мнеджер временных таблиц?
Благодарю. 🙏🏼 Насчет индексирования лучше спросить при сдаче сертификата, это будет интересно и вопрос хороший, сам не могу ответить, кроме как - качество кода типовых конф оставляет желать лучшего (речь не про архитектуру)
Очень грамотно подан материал, спасибо за урок было интересно, освежил знания + получил новую информацию. Кстати, в типовых конфигурациях очень часто вижу соединения с виртуальными таблицами и между виртуальными - это неграмотность программистов или что? З,Ы, как то вообще пришлось искать узкое место в запросе который выполнялся при открытии документа "УстановкаЦенНоменклатуры" в ERP: стандартно несколько минут открывался, после оптимизации за 5 сек. Ещё хотел поэкспериментировать с READ UNCOMMITED В MS SQL в 1C в автоматическом режиме управления блокировками, не подскажете, можно ли это сделать выставив его а самом SQL сервере или 1С всегда его выставляет в автоматическом в REPEATABLE READ?
"Кстати, в типовых конфигурациях очень часто вижу соединения с виртуальными таблицами и между виртуальными - это неграмотность программистов или что?" - Думается мне это от целей зависит. Иногда читабельность кода может быть поставлена выше производительности, тем более, если текущей производительности и так хватает. Здесь идет упор на уровень знаний эксперта, а практика может не идти вместе с теорией.
33:35 разве условие "ИНН В (&Список)" не эквивалентно "ИНН = Значение1 Или ИНН = Значение2 ИЛИ ...", что не позволит использовать индекс и приведет к скану таблицы?
приветствую 🙏🏼, вы просите прокомментировать тот видеоурок или что-то другое? Глянул первый слайд в начале видео, противоречий с моим пониманием вопроса не увидел…
Великолепная подача!! Мне, с опытом работы в несколько лет, было мега полезно и познавательно узнать правила работы на уровне СУБД, правила оптимизации, примеры заблуждений с примерами. Очень вовремя наткнулся на это видео. Раньше не понял бы и половины терминов, а сейчас все понятно, но не знал тонкостей.
Спасибо!
Спасибо, неожиданно интересное и познавательное видео.
Чудесный курс. Большое спасибо!
Спасибо! Задаете уровень (круто). В очередной раз удивили. По поводу временных таблиц в 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, ...)
благодарю 🙏🏼, что проверили все лично и добавили уточнение, Ваш комментарий самый лучший 😉
Спасибо!
Спасибо, много лет программирую, но некоторые моменты не знал.
Спасибо бро, нашел много полезного
Спасибо много нового узнал
А можно ли помочь sql с оптимизацией разбив большой запрос на несколько маленьких? При помощи какого инструмента это можно сделать? Менеджер временных таблиц? Или по сути это то же самое что использовать поместить ВТ_.... и sql воспринимает это как один большой запрос?
тут все упирается в то, используется жесткий диск или нет: менеджер вт - да, много данных относительно операвки - да, индекесирование - да и т.д. Необходимо искать баланс между ‘помощью субд’ и скоростью выполнения.
Крутой материал! только вот мучает вопрос, а почему тогда при сдаче на специалиста препода наоборот говорят нужно все вт индексировать и лучше использовать мнеджер временных таблиц?
Благодарю. 🙏🏼 Насчет индексирования лучше спросить при сдаче сертификата, это будет интересно и вопрос хороший, сам не могу ответить, кроме как - качество кода типовых конф оставляет желать лучшего (речь не про архитектуру)
Отлично
Очень грамотно подан материал, спасибо за урок было интересно, освежил знания + получил новую информацию. Кстати, в типовых конфигурациях очень часто вижу соединения с виртуальными таблицами и между виртуальными - это неграмотность программистов или что? З,Ы, как то вообще пришлось искать узкое место в запросе который выполнялся при открытии документа "УстановкаЦенНоменклатуры" в ERP: стандартно несколько минут открывался, после оптимизации за 5 сек. Ещё хотел поэкспериментировать с READ UNCOMMITED В MS SQL в 1C в автоматическом режиме управления блокировками, не подскажете, можно ли это сделать выставив его а самом SQL сервере или 1С всегда его выставляет в автоматическом в REPEATABLE READ?
"Кстати, в типовых конфигурациях очень часто вижу соединения с виртуальными таблицами и между виртуальными - это неграмотность программистов или что?" - Думается мне это от целей зависит. Иногда читабельность кода может быть поставлена выше производительности, тем более, если текущей производительности и так хватает. Здесь идет упор на уровень знаний эксперта, а практика может не идти вместе с теорией.
33:35 разве условие "ИНН В (&Список)" не эквивалентно "ИНН = Значение1 Или ИНН = Значение2 ИЛИ ...", что не позволит использовать индекс и приведет к скану таблицы?
идеологически да, для оптимизатора одно и тоже
А что такое cluster index seek ?
поиск по кластерному индексу
Спасибо! Можете, пожалуйста, дать комментарии по этому уроку ruclips.net/video/tmr9qS04IvE/видео.html ?
приветствую 🙏🏼, вы просите прокомментировать тот видеоурок или что-то другое? Глянул первый слайд в начале видео, противоречий с моим пониманием вопроса не увидел…
@@kefimov Спасибо!