Рубрика «Оптимизация»

Сортировка индексов

Пересказ статьи Erik Darling. Index Sortables. Крики и вопли Если вы читали мой пост о параметризованных TOP, вы тогда же могли возмутиться одним индексом, который я создавал. И справедливо — это был ужасный индекс по причинам, которые мы тут и обсудим. Если этот индекс сводит вас с ума, поздравляю, вы весьма сообразительны. CREATE INDEX ix_whatever …

Порядок столбцов в индексе

Пересказ статьи Mike Byrd. Index Column Order – Be Happy! Мне всегда было интересно, как SQL Server выбирает порядок столбцов в предлагаемых индексах. И недавно я просто не смог сопротивляться искушению проверить это. Рассмотрим запрос:

Что нового в SQL Server 2019 CTP 2.1: Более быстрые функции

Пересказ статьи Brent Ozar. What’s New in SQL Server 2019 CTP 2.1: Faster Functions Некоторое время назад мы обсуждали официальную публикацию о том, как Майкрософт работала над ускорением выполнения пользовательских функций. Теперь, когда вышла следующая предварительная версия (CTP 2.1) SQL Server 2019, вы можете познакомиться с тем, как достигается рост производительности (документация). Давайте посмотрим, как …

Селективность предикатов и структура индекса

Пересказ статьи Erik Darling. Predicate Selectivity and Index Design Незаконченные дела Какое-то время назад я обещал написать о том, что заставляет SQL Server выполнять два поиска вместо поиска с остаточным предикатом. В недавнем посте я немного затронул вопрос селективности предиката в структуре индекса. Сейчас я собираюсь связать эти две темы вместе. Возможно. Надеюсь. Посмотрим, что …

Оптимизация запросов, передаваемых непосредственно

Пересказ статьи Bert Wagner. Optimizing for Ad Hoc Workloads Кэш планов выполнения — отличная вещь: после затраченных усилий на построение плана запроса SQL Server сохраняет этот план в кэше планов для повторного использования в дальнейшем.

Кардинальное число

Пересказ статьи Bert Wagner. Cardinality: Not Just For The Birds При построении индексов для ваших запросов порядок столбцов в ключе индекса имеет значение. SQL Server наиболее эффективно использует индекс, если данные в этом индексе сохраняются в том же порядке, какой требуется для вашего запроса при выполнении соединения (join), фильтрации (where), группировки (group by) или сортировки …

Настройка запросов: предложение IN

Пересказ статьи Arthur Daniels. Query tuning: The IN clause В статье рассматривается предложение IN и другой способ написания аналогичного запроса. Я не собираюсь утверждать, что IN лучше или хуже, чем другие конструкции T-SQL. Я просто хочу продемонстрировать, что он делает.

Почему не следует использовать SELECT * в рабочих системах (никогда!)

Пересказ статьи Gavin Draper. Why You Shouldn’t Use SELECT * In Production Systems (EVER!) Это не значит, что я никогда не использую операторы SELECT *; обычно я использую их для прямых запросов на стадии разработки. Моё предупреждение относится к их использованию в рабочих системах.

Какой-то индекс в моем индексе

Пересказ статьи Gavin Draper. Waiter Waiter There’s an Index in my Index Речь пойдет о том, как SQL Server обращается к одновременно к кластеризованному и некластерихованному индексам при поиске закладок.

Логические операции чтения SQL Server — о чем они на самом деле говорят нам?

Пересказ статьи Ami Levin. SQL Server Logical Reads – What do they really tell us? Трассировка SQL Server, которую наиболее часто используют администраторы баз данных для оценки производительности запросов, предоставляет счетчик ‘logical reads’ (логические чтения), на который многие администраторы полагаются при оценке производительности ввода/вывода запросов. В данной статье мы проверим истинность этих счетчиков и приведем …