Пересказ статьи Erik Darling. Common Query Plan Patterns For Windowing Functions: Column Selection Matters
Не доктор
Все наши предыдущие запросы выглядели примерно так:
WITH Comments AS
(
SELECT
ROW_NUMBER() OVER
(
PARTITION BY
c.UserId
ORDER BY
c.CreationDate
) AS n
FROM dbo.Comments AS c
)
SELECT
c.*
FROM Comments AS c
WHERE c.n = 0;
Из таблицы Comments мы фактически выбирали только столбцы UserId и CreationDate, которые имеют типы integer и datetime.
Продолжить чтение "Общие шаблоны плана запроса для оконных функций: выбор столбцов имеет значение"
Пересказ статьи Sergey Gigoyan. Five facts about the SQL Server Model Database
В этой статье мы исследуем еще одну системную базу данных -
model - и обсудим пять важных фактов об этой базе данных SQL Server.
Продолжить чтение "Пять фактов о базе данных Model в SQL Server"
§ Новая однобалльная задача от Baser выставлена под номером 236.
§ В ответ на сообщение Леонид С. усилена проверка задачи 70 (SELECT, обуч. этап) данными от selber.
Продолжить чтение "Новости за 2021-07-17 - 2021-07-23"
Пересказ статьи Brent Ozar. Never, Ever, Ever Start T-SQL Comments with Two Dashes
Вы можете написать комментарий в T-SQL двумя способами:
-- начав строку с двух тире или
/* заключив его с двух сторон, как это сделано здесь */
Никогда не используйте двух тире. Никогда.
Продолжить чтение "Никогда, никогда не начинайте комментарии в T-SQL с двух тире"
Пересказ статьи Thomas LaRock. SET NOCOUNT For SQL Server
На прошлой неделе я пересматривал статью и обнаружил, что мне нужна инфомация об использовании NOCOUNT в качестве стандартного средства при написании хранимых процедур. Быстрый поиск в интернете нашел мою
старую статью. Видимо, меня спросили, можно ли включить NOCOUNT для конкретной базы данных SQL Server. Как предполагалось в статье, это не было возможным. Опция NOCOUNT устанавливается для всего экземпляра, для конкретного подключения или в коде T-SQL.
Продолжить чтение "SET NOCOUNT для SQL Server"
Пересказ статьи Mike Scalise. GREATEST/LEAST Function Alternatives in SQL Server
Запрос к Microsoft, за который наиболее часто голосуют на
feedback.azure.com, предлагает добавить MAX/MIN в качестве неагрегатных функций в SQL Server. Другими словами, это функции GREATEST и LEAST, которые мы можем увидеть в MySQL, PostgreSQL и Oracle.
Продолжить чтение "Альтернативы функциям GREATEST и LEAST в SQL Server"
Пересказ статьи Kenneth Igiri. Basics of SQL Server Transaction Log
Что такое журнал транзакций?
Требованием реляционных систем баз данных является надежность (durable) транзакций. Эта "D" присутствует в свойствах транзакций ACID. Система должна гарантировать, что при внезапном сбое транзакция может быть повторена. SQL Server выполняет это требование записью всех транзакций в физический файл, который называется
файлом журнала транзакций.
Продолжить чтение "Основы журнала транзакций в SQL Server"
§ Новая задача от Kursist выставлена на 3 этапе (сложность 3 балла) под номером 235. При этом выполнены следующие перестановки задач:
235 -> 7 -> обуч.этап (156)
§ Данными от Kursist усилена проверка задачи 119 (SELECT, рейтинг)
Продолжить чтение "Новости за 2021-07-03 - 2021-07-09"
Пересказ статьи Dennes Torres. Index Usage: finding indexes not being used
Я уже писал о том, как проверить использование индексов в базе данных. В той статье я писал об
изучении планов запросов.
Однако есть еще одна причина проверить использование индексов - удаление индексов, которые не используются. Каждый индекс оказывает воздействие определенного уровня при изменениях (INSERT/UPDATE/DELETE), и если индекс не является полезным, он будет только создавать проблемы.
Продолжить чтение "Индексы: обнаружение неиспользуемых индексов"
Пересказ статьи Lee Markum. 5 Ways to Make SQL Server Backups
В прошлый раз мы обсуждали
5 типов резервных копий. Сейчас я хочу представить вам пять способов сделать бэкап в SQL Server. Я не смогу продемонстрировать все доступные опции каждого из этих шести методов. Здесь много чего есть даже для такой простой темы как бэкапы.
Продолжить чтение "5 способов сделать резервные копии в SQL Server"
Пересказ статьи Lee Markum. 5 Types of SQL Server Backups
Одной из основополагающих обязанностей администратора баз данных является обеспечение доступности резервных копий (бэкапов).
SQL Server может производить несколько принципиально различных типов бэкапов. Прежде чем обсуждать их, я хочу задать один вопрос, ответ на который кажется очевидным.
Зачем делать бэкапы?
Продолжить чтение "5 типов резервных копий в SQL Server"
Пересказ статьи Brent Ozar. Using Triggers to Replace Scalar UDFs on Computed Columns
Ваша база данных усеяна вычисляемыми столбцами, чье определение включает скалярную пользовательскую функцию. Даже вплоть до SQL Server 2019, который быстрей обрабатывает скалярную функцию,
любая таблица, которая включает скалярную функцию приводит к однопоточному доступу к таблице. В этом случае, триггер может реально стать отличной заменой.
Продолжить чтение "Использование триггеров для замены скалярных UDF на вычисляемых столбцах"