![SQLCom ru](/img/default-banner.jpg)
- Видео 134
- Просмотров 165 010
SQLCom ru
Добавлен 16 ноя 2011
Друзья, доброго времени суток!
Рад видеть вас на канале посвященному MS SQL Server. Есть достаточно много информации о SQL Server и T-SQL на всех языках, но она очень сильно разбросана по интернету и её приходится собирать по крупицам. Мы ставим перед собой цель - собрать воедино всю эту информацию и представить её вам в удобном виде.У нас вы найдёте интересные статьи, видео материалы, новости и многое другое. Публикуемая здесь информация будет полезна как разработчикам баз данных (Database Developer), так и администраторам баз данных (Database Administrator, DBA).
Рад видеть вас на канале посвященному MS SQL Server. Есть достаточно много информации о SQL Server и T-SQL на всех языках, но она очень сильно разбросана по интернету и её приходится собирать по крупицам. Мы ставим перед собой цель - собрать воедино всю эту информацию и представить её вам в удобном виде.У нас вы найдёте интересные статьи, видео материалы, новости и многое другое. Публикуемая здесь информация будет полезна как разработчикам баз данных (Database Developer), так и администраторам баз данных (Database Administrator, DBA).
Оптимизация и Trouble Shooting (Сергей Олонцев)
Оптимизация и Trouble Shooting (Сергей Олонцев)
Просмотров: 965
Видео
Быстрый старт в SSAS (Tabular, Мultidimensional) Сафаргалиев Тимур
Просмотров 1814 года назад
Быстрый старт в SSAS (Tabular, Мultidimensional) Сафаргалиев Тимур
Быстрый старт в SSAS (Tabular) Василий Уразов
Просмотров 1764 года назад
Быстрый старт в SSAS (Tabular) Василий Уразов
«Вместе готовим SQL Server вкусно" (К. Таранов)
Просмотров 4524 года назад
В данном видео Константин так же расскажет про мотивацию, здоровье и стиль питания
Диагностика и решение проблем в SQL Server (часть 4)
Просмотров 6194 года назад
В этой сессии Дмитрий покажет как диагностировать проблемы в SQL Server, используя статистику ожиданий, DMV, и другие доступные инструменты. Вы узнаете, о причинах возникновения различных проблем, о том, как они проявляют себя в системе, и о методиках их решения
Диагностика и решение проблем в SQL Server (часть 3)
Просмотров 4854 года назад
В этой сессии Дмитрий покажет как диагностировать проблемы в SQL Server, используя статистику ожиданий, DMV, и другие доступные инструменты. Вы узнаете, о причинах возникновения различных проблем, о том, как они проявляют себя в системе, и о методиках их решения
Диагностика и решение проблем в SQL Server (часть 2)
Просмотров 7214 года назад
В этой сессии Дмитрий покажет как диагностировать проблемы в SQL Server, используя статистику ожиданий, DMV, и другие доступные инструменты. Вы узнаете, о причинах возникновения различных проблем, о том, как они проявляют себя в системе, и о методиках их решения
Диагностика и решение проблем в SQL Server (часть 1)
Просмотров 1,9 тыс.4 года назад
В этой сессии Дмитрий покажет как диагностировать проблемы в SQL Server, используя статистику ожиданий, DMV, и другие доступные инструменты. Вы узнаете, о причинах возникновения различных проблем, о том, как они проявляют себя в системе, и о методиках их решения
Практическое применение секционирования в SQL Server
Просмотров 4,9 тыс.5 лет назад
Практическое применение секционирования в SQL Server
Построение DWH на стеке MS SQL 2016
Просмотров 1,4 тыс.5 лет назад
Построение DWH на стеке MS SQL 2016
Решение задач машинного обучения на платформе Microsoft SQL Server 2019
Просмотров 5715 лет назад
Решение задач машинного обучения на платформе Microsoft SQL Server 2019
Benchmarkinq TSQL and SQL Server Toolkit
Просмотров 3625 лет назад
Benchmarkinq TSQL and SQL Server Toolkit
Работа с блокировками в SQL Server
Просмотров 11 тыс.6 лет назад
В этом докладе Дмитрий расскажет о том, как SQL Server работает с блокировками в многопользовательской среде и расскажет как диагностировать и решать проблемы с блокировками и дедлоками в системах. Дмитрий также представит набор скриптов, существенно облегчающих диагностику этих проблем. Формат будет такой - Дмитрий будет говорить минут 70, а затем поотвечает на вопросы (как по теме так и “в об...
Дмитрий Короткевич. Колоночные индексы (30.05.2018)
Просмотров 3,2 тыс.6 лет назад
Дмитрий расскажет о колоночные индексах, их внутренней структуре, оптимальных сценариях использования и обновления данных. Спикер: Дмитрий Короткевич работает с SQL Server 20 лет, специализируясь в архитектуре, разработке и оптимизации OLTP систем, работающих под большой нагрузкой. Дмитрий является Microsoft Data Platform MVP и Microsoft Certified Master, а также автором книг “Pro SQL Server In...
Architecting Large Scale Solutions on Azure HQ
Просмотров 506 лет назад
While there are many similarities between SQL Server and SQL Azure, there are different kinds of applications that are easier to build in one or the other. One of the major differences relates to how to build an application that “scales”. This presentation will provide an introduction into the difference between scale-up (SQL Server) and scale-out (SQL Azure) architectures and give you a primer...
Inside the SQL Server Query Optimizer
Просмотров 1 тыс.6 лет назад
Inside the SQL Server Query Optimizer
Курс по подготовке к экзамену Microsoft 70-533. Часть 8
Просмотров 2246 лет назад
Курс по подготовке к экзамену Microsoft 70-533. Часть 8
Курс по подготовке к экзамену Microsoft 70-533. Часть 7
Просмотров 1466 лет назад
Курс по подготовке к экзамену Microsoft 70-533. Часть 7
Курс по подготовке к экзамену Microsoft 70-533. Часть 6
Просмотров 1746 лет назад
Курс по подготовке к экзамену Microsoft 70-533. Часть 6
Курс по подготовке к экзамену Microsoft 70-533. Часть 5
Просмотров 1586 лет назад
Курс по подготовке к экзамену Microsoft 70-533. Часть 5
Курс по подготовке к экзамену Microsoft 70-533. Часть 4
Просмотров 1606 лет назад
Курс по подготовке к экзамену Microsoft 70-533. Часть 4
Курс по подготовке к экзамену Microsoft 70-533. Часть 3
Просмотров 1936 лет назад
Курс по подготовке к экзамену Microsoft 70-533. Часть 3
Курс по подготовке к экзамену Microsoft 70-533. Часть 2
Просмотров 3196 лет назад
Курс по подготовке к экзамену Microsoft 70-533. Часть 2
Курс по подготовке к экзамену Microsoft 70-533. Часть 1
Просмотров 1,3 тыс.6 лет назад
Курс по подготовке к экзамену Microsoft 70-533. Часть 1
Риски самостоятельной разработки бизнес-приложений и способы их снижения
Просмотров 1967 лет назад
Риски самостоятельной разработки бизнес-приложений и способы их снижения
Масштабирование реляционной БД в Azure. Миф или реальность?
Просмотров 1087 лет назад
Масштабирование реляционной БД в Azure. Миф или реальность?
Между Землей и Облаками - сходства и различия в реализации платформ баз данных
Просмотров 2187 лет назад
Между Землей и Облаками - сходства и различия в реализации платформ баз данных
Как называется фильм ?
Айкидо без ударной или борцовской базы полное говно. Сам имею 1-й Дан по этому единоборству занимался 17 лет. Так что нечего даже заикаться тут, о том да что ты знаешь. Знаю!
А что Айкидо помогает в драке?😂
Прослушал с удовольствием. Эээх... Там у мужика Windows Phone мелькает в аудитории.
Подскажите как фамилия преподователя?
Короткевич
Круто,но качество бы получше. А то только по голосу все приходится узнавать.
Зачастую нет времени разбираться с проблемой, т.к. о ней уже несколько человек написало, поэтому и делают перезагрузку. Если проблема всплывает несколько раз, то тогда уже нужно задуматься о её анализе и устранении, когда посвободнее будет.
Первый фильм где снялся стиаен сигал
Да только против мастеров боялся драться, может кто и знает ету борьбу но не он
ОН просто знает их удары! И куда они целят и будут бить ,он это шарит!
Походу, он только теоретик с дивана
Искал серебро, нашёл золото. Спасибо!
В первой части объединения на 2 и 3 звезды, нет пересечения, а наоборот дыра от 29 до 31. Может в этом примере это не существенно. Мне нравится тема и тембр докладчика. Сергей не оратор, но слушать очень интересно. Только ссылки надо добавить в описание под видео.
sys.dm_io_virtual_file_stats - нет колонок AVG_* . Как они появились? ( 01:04:40) 🤔
хороший приз
Отличный доклад, но блин, съемка как будто 92 года. Неужели в 2016 нельзя снимать видео в нормальном качестве
Школьник с "Hello World!" = 8K, профи с Service broker = 240р
Качество, да плохое. Но в целом содержание доклада отличное!
Самая большая беда когда системный администратор или программист вдруг думают, что АБД - это совсем просто, чего там:) Тогда получаются базы на диске С, таблицы с nvarchar(max) всюду и конечны индексы, которые никогда на будут использоваться. А уж запросы, хранимые объекты - это отдельная песня. План обслуживания, который обязательно либо не обрабатывает часть индексов, либо дергает их по поводу и без, конечно блокировок по более. А потом приходит АБД и исправляет и о Боже, тот отчет который ставили на Обед делаться, вдруг предетельски подмигнув сразу вывел результат.
Тема очень интересная, но Дмитрия тяжело слушать(
Айкидо - лучшее боевое искусство. Только оно позволяло мне в уличных драках побеждать 5-7 противников без усилий. Остальные рассчитаны на одного двух
Вы хоть кого побеждали алкашей, одного победи брюсли, чемпионов по всяким видам борьбы, калеками толпа делает герой
@@saha4400 главное не стоять на месте. Противники в большинстве случаев падают сами.
@@lunarashka фантазер, наверное знакомый кадочникова
Спасибо! Очень познавательно !
Это лучшее, что я посмотрел на ютубе за последний год! Спасибо
У Стивена Сигала 7 дан по айкидо? У меня шестой кю
Спасибо!
7-й дан, или даже 7-й с половиной)
Мощный тип ))
А где продолжение?
А он реально кидает их
Скажем так, так сказать, по большому счету, фактически хороший доклад. Спасибо :)
как бекап сдел?
Хорошая шутка
Крутой мужик
Здравствуйте! Можно ли где-то скачать саму презентацию, которую транслирует выступающий?
yadi.sk/i/294WT1p5o5nngw
Спасибо!
Чот не очень понял. В случае запроса дискового пространства под прирост журнала транзакций, выделяемое всё равно зероится виндой. Это вот для файлов данных прирост мгновенный.
*9. Заключение* 1:01:11 . Оценка Кардинальности -ожидаемоечисло строк на выходе конкретного оператора в плане запроса . Оценка Кардинальности во многом определяет выбор плана запроса, и другие параметры, влияющие на производительность запроса . Оценка Кардинальности выполняется на основе статистик (гистограмм, плотностей), соответствующих математических моделей, и иногда, просто догадок . В некоторых случаях SQL Server не может точно оценить кардинальность: -Устаревшие или нерепрезентативные статистики -Чувствительные к параметрам запросы -Табличные функции и переменные -Пользовательские скалярные функцие, и некоторые встроенные скаларные операции и функции -Очень сложные предикаты, например, включающие AND’ы OR’ов или OR’ы AND’ов -Корреляция данных -Запросы с “Row Goal” . Используйте актуальный план запроса чтобы диагностировать проблемы с оценкой кардинальности, и применяйте соответсвующие обходные пути для каждого случая
*8. Ответы на вопросы* 54:21 - 56:59
*7. Запросы, ориентированные на получение ограниченного количества строк (“Row Goal”)* 42:01 - Некоторые запросы включают конструкции (например, Top, OPTION (FASTN), EXISTS (semi-joins)), которые ограничивают количество строк, представляющих интерес в выборке (“Row Goal”) . - SQL Server оценивает кардинальности и стоимость операторов в зависимости от Row Goal, пытаясь определить, сколько строк мы должны обработать, чтобы удовлетвоить Row Goal . - Если оценка количества строк, удовлетворяющих данному предикату неверна, то неверна будет и оценка работы, необходимой для получения N строк из них (но она будет еще ниже, чем для случая без Row Goal). При более низкой оценке кардинальности больше вероятность получения неэффективного плана для большего числа строк . - Оценка предполагает равномерное распределение данных. Если в реальности имеются неравномерности в распределении (например, все данные, удовлетворяющие предикату по неключевой колонке физически находятся в конце индекса), то на практике может потребоваться обработать гораздо больше строк, чем мы оценили для данного Row Goal . - Как обойти: -- Иногда возможно просто убрать конструкцию Row Goal из запроса -- Любые другие стандартные методы (хинты, plan guides, и т.д.) . *Демонстрация* 48:06 - 53:50 56:59
*5. Другие классы проблем, для которых сложно построить точную модель оценки* 31:14 - Для сложных предикатов, например, комбинации AND с операндами, содержащими OR или наоборот, очень сложно построить точную модель оценки - Стандартные пути обхода, вклчая добавление хинтов, упрощение/модификацию запроса, использование фильтрованных статистик и т.п.
*6. Корреляция данных* 33:23 SQL Server, судя о мире в целом и имея только ограниченные статистики, вынужден обобщать. При обощении делаются предположения о равномерном распределении данных и независимости данных в разных колонках 34:28 Если реальных данные коррелированы, то результаты оценок могут сильно отличаться от реальности: - При оценке предиката A=a AND B=b, если колонки A и B независимы, то вероятность выполнения двух равенств одновременно равна произведению вероятностей каждого из них. Если же они зависимы, данная формула приведет к существенной недооценке кардинальности 35:19 Как обойти: - Для AND предикатов (без комбинации с OR) хорошо работают многоколоночные статистики - Фильтрованные статистики -- Секрет: В последнем CU для SQL Server 2008 R2SP1 доступен специальный Trace Flag4137, который отменяет логику независимоти при оценке AND предиката для фильтров. Однако, в случае, если предикаты действительно независимы, может быть обратный эффект . 39:20 *Демонстрация*
*4. Скалярные функции и операции, для которых у SQL Server нет подходящей модели (“Out-of-Model”)* 23:33 - Скалярные функции, определяемые пользователем - Побитовые операции•Многие встроенные функции T-SQL - Преобразования типов - Как обойти: --Создать вычисляемую колонку (computed column), которая соответствует скалярному выражению для которого не удается получить хорошую оценку --Переписать запрос . 27:37 *Демонстрация*
*3. табличные функции и переменные* 21:29 . SQL Server в принципе не может оценить кардинальность для табличных функций, так как их результат определяется только на этапе выполнения: - Табличные функии T-SQL, включающие более одного оператора (пример ранее) -- Если табличная функия состоит из всего одного T-SQL оператора, SQL Server может просто доставить его в тело запроса аналогично view, и проблемы с оценкой кардинальности не будет - Управляемые (CLR) табличные функии . SQL Server (все еще) не поддерживает статистики для табличных переменных . Чтобы обойти проблему, придется переписать запрос. Удобно использовать временные таблицы
*2. Параметризованные запросы и планы, зависящие от параметров (Parameter Sniffing, Parameter-Sensitive Plans)* . 8:48 Селективность предиката может сильно зависеть от параметра . 9:41 Parameter Sniffing При компиляции пакета T-SQL, все запросы компилируются сразу, и если значение параметра вычисляется динамически одним из операторов, то на момент компиляции оно неизвестно . 10:42 Parameter-Sensitive Plans План запроса строится с использованием того значения параметра, которое известно на момент компиляции. Затем он помещается в кэш и может быть использован для исполнения такого же запроса с другими параметрами . 11:29 Как обойти: - Вынесение запроса из паекта в отдельную хранимую процедуру (отдельный контекст компиляции-процедура компилируется только при первом запуске) - OPTION RECOMPILE - OPTION (OPTIMIZE FOR...), OPTION (OPTIMIZE FOR UNKNOWN) . *Демонстрация* 14:13 Срабатывание OPTIMIZE FOR UNKNOWN 15:41 Использование OPTION RECOMPILE 16:42 Использование OPTIMIZE FOR... 17:17 Использование вынесения запроса в хранимую процедуру 18:26 Срабатывание Parameter-Sensitive Plans 18:57 Использование OPTIMIZE FOR UNKNOWN 19:45 прочее
*1. Отсутствующие, устаревшие или нерепрезентативные статистики* . 01:20 Отсутствие статистик - В БД отключено автоматическое создание статистик -- При отсутвии статистик Оптимизатор Запросов может использовать только грубые догадки . 3:45 Устаревшие статистики - В БД отключено автоматическое обновление статистик, или количество изменений в таблице еще не привысило внутренний порог обновления статистики -- Организуйте периодическое UPDATE STATISTICS для вашей БД . 6:59 Нерепрезентативные статистики - Если селективность предиката сильно зависит от определенных значений данных, но размер таблицы настолько велик, что случайная выборка не позволила детектировать пики в распределении данных -- Используйте UPDATE STATISTICS WITH FULLSCAN
*0. Представление докладчика* 00:00
46:30 *Мой запрос медленный из-за неточной оценки кардинальности?* . *Как детектировать неточную оценку кардинальности?* -Смотрите на актуальный план (например, set statistics xml on) -Новое событие (Extended Event) в SQL Server 2012 . *Типичные случаи медленных планов, связанных с неточной оценкой кардинальности* - План использует Nested Loop Join и оценка количества строк внешней стороны существенно меньше относительно реального количества строк - План использует Scan, который обрабатывает намного больше строк по сравнению с оценкой (например, на внутренней стороне join, или в запросах с оператором Top) - Количество требуемых строк перееоценено, и мы решаем использовать Scan, хотя в реальности план с Seek был бы гораздо быстрее - План выполняет слишком много случайных Seek; реальное количествао строк столь велико, что один Scan был бы гораздо эффективнее - Из-за недооценки кардинальности запрос не выделяет достаточно количества памяти, и при выполнении соответствующий оператор (sort, hash join) использует tempdb . *Когда неточная оценка кардинальности не обязательно является причиной медленного плана?* - Точная оценка бывает достаточно редко, чаще для простых предикатов и ближе к листовым частям плана. Небольшие неточности в абсолютном значении обычно не вызывают проблем, если только речь не идет, напримр, об очень небольшом общем количестве строк на внешней стороне Nested Loop Join - Иногда оценка количества строк на внешней стороне join уже сама по себе настолько велика, что вряд ли знание точного количества строк позволило бы нам выбрать другой тип join - Неточная оценка кардинальности на нижних уровнях плана распространяется вверх. Ищите оператор, для которого неточная оценка может сильно влиять на производительность, прежде чем искать корень неточной оценки . *В общем случае, попытайтесь понять, что именно происходит для конкретного плана (основываясь на знаниях о том, что делает кажды оператор), и может ли факт что оператор X обработал Y строк вместо Z являться одной из решающий причин медленного запроса*
17:23 *Как SQL Server оценивает кардинальность?* *Демонстрация* 20:53 Простой пример оценки кардинальности 24:42 Способ просмотра статистик таблицы 27:24 *Статистики изнутри* -Общее количество строк, количество строк в выборке, время и счетчик изменений на момент последнего обновления, фильтр (если имеется) -Плотность: средняя частота появления каждого уникального значения (1 /количество уникальных значений) Много-колоночные плотности (для составных ключей индексов и многоколночных статистик) *Демонстрация* 28:48 Примеры использования статистики таблицы для разных условий запроса 31:49 Пример применения теорвера и матстатистики 34:56 Пример, как оценка кардинальности влияет на производительность запроса. Табличная функция VS Временная таблица
10:40 *Для чего нужна Оценка Кардинальности?* Оптимизатор Запросов SQL Server выбирает план запроса с наименьшей оценкой глобальной стоимости -Стоимость запроса складывается из стоимостей операторов -Стоимость оператора основывается на оъеме необходимых вычислений (CPU), требуемой памяти, и ввода-вывода (если требуется), и оценивается исходя из объема данных, которые он должен обработать, а также алгоритма работы -Объем данных -важнейший параметр в данной формуле. Это и есть Оценка Кардинальности --Неточная оценка кардинальности => случайный план запроса => произвольно эффективное или неэффективное выполнение
5:57 *Оценка Кардинальности (Cardinality Estimation)* Оценка Кардинальности -количество строк, которое ожидается на выходе конкретного оператора в плане запроса -Неявно определяет объем работы, который необходимо выполнить в данном операторе -Явно определяет объем работы, который необходимо выполнить в родительском операторе
0:00 Представление докладчика 4:36 План доклада
12:12 *Как SQL Server использует Оценку Кардинальности* Оценка Кардинальности -источник очень эффективных и очень неэффективных планов - Оценка стоимости плана: важнейшее, но не единственное применение - Оценка гранта памяти (memory grant), требуемого для исполнения запроса - Влияние на некоторые эвристики при выборе плана запроса (например, начальная перестановка соединений) - Влияние на выбор стратегии блокировки (например, постранично или построчно) -- За последние два года, более 35% всех инцидентов, связанных с Оптимизатором Запросов и эскалированных Службой Поддержки в Группу Разработки, связаны с неточной оценкой кардинальности