Пересказ статьи Erik Darling. Getting The Top Value Per Group In SQL Server Row Number vs. Cross Apply
Введение
Существует много способов написания запросов в SQL Server. То, как будут выполняться различные варианты записи запроса, будет в значительной степени зависеть от:
- Вы не делаете ничего странного.
- Правильные индексы для запроса имеются.
- Оптимизатор не замечает ваших трюков и дает вам один и тот же план запроса.
Продолжить чтение "Получение максимального значения на группу в SQL Server: Row Number против Cross Apply"
Пересказ статьи Eduardo Pivaral. SQL Query Performance Tuning Tips
Пользователи баз данных SQL Server, администраторы и разработчики, все, кто пишет запросы, должны иметь некоторые знания по настройке запросов, чтобы последние, которые они пишут, были эффективными и выполнялись в оптимальном режиме. Есть несколько вещей, которые можно использовать для проверки производительности запросов и которые могут помочь в их настройке. В этой статье обсуждаются некоторые из этих вещей, о которых вам следует знать.
Здесь будут обсуждаться основные направления проверки и исправления проблемных запросов SQL. Следует отметить, что это не исчерпывающий перечень, а, скорее, начальное руководство и рассмотрение наиболее общих проблем. Существуют "общие" вещи, которые нужно проверять при настройке запросов, и после обнаружения общей проблемы вы можете погрузиться глубже, найти причину, а затем исправить её.
Продолжить чтение "Советы по настройке производительности SQL-запросов"
Пересказ статьи Aaron Bertrand. FORMAT is a convenient but expensive SQL Server function - Part 1
Я уже показывал, как
FORMAT может быть почти в два раза дороже CONVERT для базы данных Microsoft SQL Server. Это сравнение, возможно, было несколько неточным - а как насчет запутанных выражений CONVERT? Есть ли другие способы получить удобство функции даты FORMAT без увеличения времени выполнения запроса в базе данных SQL?
Продолжить чтение "FORMAT - удобная, но дорогая функция SQL Server: часть 1"
Пересказ статьи Everett Berry. Inspecting Joins in PostgreSQL
PostgreSQL использует различные алгоритмы для реализации JOIN в зависимости от запроса. Мы можем исследовать план запроса, чтобы выяснить, какой тип был использован.
Введение
Реляционные базы данных распределяют свои данные по многим таблицам в соответствии с правилами нормализации или бизнес-сущностями. Это упрощает поддержку растущей схемы базы данных. Реальные запросы зачастую обращаются к нескольким таблицам, что неизбежно приводит к соединению этих таблиц.
PostgreSQL использует много алгоритмов соединения таблиц. В этой статье мы рассмотрим, как соединения работают за сценой с точки зрения планировщика, и поймем, как их оптимизировать.
Продолжить чтение "Обзор соединений в PostgreSQL"
Пересказ статьи Esat Erkec. SQL Server Trivial Execution Plans
Введение
SQL является непроцедурным языком программирования; это подразумевает, что пользователи базы данных пишут в коде только то, что они хотят сделать, но не описывают шаги процесса как это сделать. После получения запроса внутренние компоненты ядра реляционной базы данных делают синтаксический разбор и компилируют запрос, а затем выполняют поставленную задачу. По окончанию этих задач они предоставляют результат полученного запроса.
Продолжить чтение "Тривиальные планы выполнения в SQL Server"