Пересказ статьи Edwin Sanchez. SQL CASE: Know and Avoid 3 Lesser-Known Hassles
Неприятности с CASE? Действительно?
Нет, пока вы не столкнетесь с 3 неприятными проблемами, которые могут вызвать ошибки во время выполнения и ухудшить производительность.
Если вы пролистаете подзаголовки, чтобы увидеть эти проблемы, я не буду вас винить. Читатели, к которым я также отношусь, нетерпеливы.
Продолжить чтение "SQL CASE: знать и избегать малоизвестных неприятностей"
Пересказ статьи 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.
Продолжить чтение "Общие шаблоны плана запроса для оконных функций: выбор столбцов имеет значение"
Пересказ статьи Dennes Torres. Index Usage: finding indexes not being used
Я уже писал о том, как проверить использование индексов в базе данных. В той статье я писал об
изучении планов запросов.
Однако есть еще одна причина проверить использование индексов - удаление индексов, которые не используются. Каждый индекс оказывает воздействие определенного уровня при изменениях (INSERT/UPDATE/DELETE), и если индекс не является полезным, он будет только создавать проблемы.
Продолжить чтение "Индексы: обнаружение неиспользуемых индексов"