Рубрика «T-SQL»

Transact-SQL

Как думать подобно SQL Server: Значит поиск по индексам это здорово, так?

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: So Index Seeks are Great, Right? В нашем последнем материале мы добавили некластеризованный индекс, и теперь, хотя этот запрос имеет фильтр и предложение ORDER BY, это не вызвало почти никакой работы — просто легкий поиск по индексу: Ах, поиск по индексу — ничего …

Как думать подобно SQL Server: добавление некластеризованного индекса

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: Adding a Nonclustered Index Прочитав последнюю статью, наши пользователи продолжали выполнять этот запрос и хотели бы его ускорить: SELECT Id FROM dbo.Users WHERE LastAccessDate > ‘2014/07/01’ ORDER BY LastAccessDate; Давайте подготовим данные, создав копию таблицы, отсортированную так, чтобы мы могли быстро найти требуемые …

Как думать подобно SQL Server: повторяющиеся запуски запроса

Пересказ статьи Brent Ozar. How to Think Like the SQL Server Engine: Running a Query Repeatedly Ранее в этой серии мы запускали запрос с ORDER BY, и обнаружили, что это интенсивно нагружает процессор, что утраивает стоимость запроса:

Типы индексов в SQL Server

Пересказ статьи Ben Snaidero. Types of SQL Server Indexes Проблема Производительность запросов. Взять запрос и заставить его выполняться быстрей, чем прежде, или потреблять меньше ресурсов — достаточная мотивация. В большинстве случаев улучшения производительности можно достичь добавлением индекса к столбцам, используемым в предикате запроса. Направление дает либо предложение WHERE, либо ORDER BY, или даже просто столбцы …

Уровни изоляции транзакции

Пересказ статьи aveek22. Transaction Isolation Levels Введение Работая с базами данных SQL, мы часто пишем запросы, не задумываясь о том, как запрос собирается читать данные из соответствующих таблиц. Как мы знаем, базы данных проектируются в соответствии с базовыми свойствами ACID (атомарность, согласованность, изоляция, длительность), и каждое свойство изоляции гарантирует корректную целостность в рамках транзакции, выполняемой …

Что такое индексы поколоночного хранения?

Пересказ статьи Monica Rathbun. What are Columnstore Indexes? Майкрософт продолжает повышать производительность SQL Server, вводя новые возможности. В этой статье объясняется как работать с индексами поколоночного хранения — отличным от построчного способом хранить таблицы, который значительно улучшает производительность при определенной рабочей нагрузке.

Использование предложения OUTPUT (для Insert и Delete)

Пересказ статьи Mat Richardson. OUTPUT Clause Basics (For Inserts and Deletes) При обработке сложных операторов insert, update и delete часто полезно знать, что изменилось — для аудита или чтобы вернуть значение в вызывающее приложение (например, ID или другое значение после вставки). Предложение OUTPUT в T-SQL позволяет вам сделать именно это, что действительно очень просто. Я …

Но ведь NOLOCK это хорошо, когда данные не меняются, правильно?

Пересказ статьи Brent Ozar. But NOLOCK Is Okay When The Data Isn’t Changing, Right? Я уже объяснил, как NOLOCK дает случайные результаты, когда вы запрашиваете данные, которые изменяются. И это реально мощная демонстрация для тех, кто думает, что NOLOCK безопасно использовать на рабочем сервере. Однако мне неоднократно задавали вопрос: Но я запрашиваю данные, которые не …

Используете NOLOCK? Вот так вы и получаете неверные результаты запроса

Пересказ статьи Brent Ozar. Using NOLOCK Here’s How You’ll Get the Wrong Query Results. Волшебный WITH(NOLOCK) в вашем запросе, похоже, заставляет его выполняться быстрее. А как насчет недостатков? Давайте разберемся.

Что такое «включенные столбцы» для некластеризованных индексов?

Пересказ статьи Michael Salzmann. ”Included columns” for non-clustered indexes explained Microsoft SQL Server предоставляет возможность использовать «включенные столбцы» (Included columns) при создании некластеризованных индексов. В статье объясняется эта особенность, её плюсы и минусы.