Адаптивная обработка запросов в SQL Server 2017

Пересказ статьи Роберта Шелдона Adaptive Query Processing in SQL Server 2017 До версии SQL Server 2017, если план запроса содержал некорректную оценку кардинального числа (число обрабатываемых строк), ядро базы данных продолжало использовать этот план при каждом выполнении оператора, пока этот план сохранялся в кэше, что часто приводило к падению производительности. Например, план выполнения мог зарезервировать …

Использование индексов

Индекс создается командой create index и непосредственно недоступен пользователю. Индексы используются оптимизатором запросов для доступа к данным в базовых таблицах и представлениях. Индексы бывают двух видов — кластеризованные и некластеризованные. Некластеризованный индекс — это вспомогательная таблица, которая содержит данные столбца/столбцов (ключ индекса), по которым индексируется базовая таблица и указатель (RID) на данные в таблице, соответствующие …

Столбцы, допускающие NULL-значения, и производительность

Пересказ статьи DANIEL HUTMACHER. Nullable columns and performance Яд NULL Рассмотрим следующий скрипт: — Создаем внешнюю таблицу и добавим в нее несколько строк CREATE TABLE #outer ( i int NOT NULL, CONSTRAINT PK PRIMARY KEY CLUSTERED (i) ); INSERT INTO #outer (i) VALUES (1); WHILE (@@ROWCOUNT<100000) INSERT INTO #outer (i) SELECT MAX(i) OVER ()+i FROM …

Предотвращение выполнения всего скрипта

Пересказ статьи Solomon Rutzky. Prevent Full Script Execution (Understanding and Using PARSEONLY and NOEXEC) Иногда, работая над SQL-скриптом, мне не нужно выполнять весь написанный код. Например, при разработке сложного скрипта мне требуется тестировать части кода. Зачастую случайные нажатия F5, когда я забываю выделить нужный фрагмент, запускают весь скрипт от начала с нежелательными последствиями.

Значение уровня совместимости базы данных в SQL Server

Пересказ статьи Glenn Berry. The Importance of Database Compatibility Level in SQL Server До SQL Server 2014 уровень совместимости базы данных ваших пользовательских баз, как правило, не являлся требующим внимания аспектом, по крайней мере, с точки зрения производительности. В отличии от уровня файлов базы данных (который автоматически апгрейдится, когда вы восстанавливаете или присоединяете базу данных …

Новости за неделю
2019-01-19 — 2019-01-25

§ Популярные темы недели на форуме Топик Сообщений 40 (SELECT) 6 6 (DML) 5 213 (SELECT) 5 44 (SELECT) 4 7 (Learn) 3 § Авторы недели на форуме Автор Сообщений ТрИгор 15 Зубрёнок 11 Alexstilog 5 pegoopik 4 vasilyvanc 3 § Изменения среди лидеров Рейтинг Участник (решенные задачи) 49 vasilyvanc (213) § Претенденты на попадание в TOP 100 Рейтинг Участник (решенные задачи, время в днях) 168 demind74 (114, …

Детали применения Hash Match Join

Пересказ статьи Bert Wagner. Visualizing Hash Match Join Internals And Understanding Their Implications Hash Match Joins (соединения при поиске совпадений в хэше) — надежные рабочие лошадки в среде физических операторов соединения.

Новости за неделю
2019-01-12 — 2019-01-18

§ Популярные темы недели на форуме Топик Сообщений Guest’s book 6 778 (SELECT) 6 777 (SELECT) 4 36 (SELECT) 3 144 (Learn) 3 § Авторы недели на форуме Автор Сообщений pegoopik 11 Alexstilog 8 dva2 5 ТрИгор 5 selber 4 § Изменения среди лидеровСмена лидера! Рейтинг Участник (решенные задачи) 1 pegoopik (231) 3 mcrain (251) 15 Kursist (211) 50 vasilyvanc (195) 54 MontaG (185) § Претенденты на попадание в TOP 100 …

Соединения слиянием (merge join)

Пересказ статьи Bert Wagner. Visualizing Merge Join Internals And Understanding Their Implications Merge Joins Merge Joins (соединения слиянием) теоретически являются самыми быстрыми физическими операторами соединения, однако они требуют, чтобы данные обоих входов были отсортированы. Базовый алгоритм работает следующим образом: SQL Server сравнивает первые строки обоих отсортированных входов. Затем сравнение продолжается со следующими строками второго входа …