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

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

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

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

Оконные функции T-SQL и производительность

Пересказ статьи Kathi Kellenberger. T-SQL Window Functions and Performance Оконные функции упрощают написание многих запросов и зачастую обеспечивают лучшую производительность по сравнению со старыми методами. Например, использование функции LAG существенно лучше, чем применение самосоединения. Однако чтобы добиться лучшей производительности в целом, необходимо понимать концепции оконных функций, и то как они используют сортировку для получения результата. …

Новости за неделю
2018-10-06 — 2018-10-12

§ Популярные темы недели на форуме Топик Сообщений 108 (Learn) 6 185 (SELECT) 3 151 (SELECT) 2§ Авторы недели на форуме Автор Сообщений Зубр 8 Kursist 3 vasilyvanc 2 Greml1n 2 unfableden 2§ Изменения среди лидеров Рейтинг Участник (решенные задачи) 17 Kursist (146) 53 vasilyvanc (185)§ Претенденты на попадание в TOP 100 Рейтинг Участник (решенные задачи, время в днях) 156 Ranil (126, 367.749) 311 Galya (94, 125.140) 349 Svitochev …

Вывести столбцы, содержащие значения

Недавно встретился вопрос, суть которого сводится к следующему. Требуется выводить все столбцы таблицы кроме тех, для которых значение у всех записей есть NULL. При этом число столбцов и их имена неизвестны заранее. Например, для таблицы T id a b c 1 1 NULL NULL 2 NULL NULL b 3 3 NULL NULL нужно получить id …