Пересказ статьи Koen Verbeeck. Cool Stuff in SQL Server 2022 – IS DISTINCT FROM
Я написал серию статей в блоге о некоторых замечательных особенностях в облачных хранилищах данных для платформы Snowflake; одной из которых был предикат IS [NOT] DISTINCT FROM. Я был рад обнаружить эту вещь теперь и в языке T-SQL, начиная с предварительной версии SQL Server 2022 CTP 2.1. Вы можете найти официальную документацию
здесь.
Continue reading "Крутая штука в SQL Server 2022 – IS DISTINCT FROM"
Пересказ статьи Erik Darling. Getting The Top Value Per Group In SQL Server Row Number vs. Cross Apply
Введение
Существует много способов написания запросов в SQL Server. То, как будут выполняться различные варианты записи запроса, будет в значительной степени зависеть от:
- Вы не делаете ничего странного.
- Правильные индексы для запроса имеются.
- Оптимизатор не замечает ваших трюков и дает вам один и тот же план запроса.
Continue reading "Получение максимального значения на группу в SQL Server: Row Number против Cross Apply"
Пересказ статьи Eduardo Pivaral. SQL Query Performance Tuning Tips
Пользователи баз данных SQL Server, администраторы и разработчики, все, кто пишет запросы, должны иметь некоторые знания по настройке запросов, чтобы последние, которые они пишут, были эффективными и выполнялись в оптимальном режиме. Есть несколько вещей, которые можно использовать для проверки производительности запросов и которые могут помочь в их настройке. В этой статье обсуждаются некоторые из этих вещей, о которых вам следует знать.
Здесь будут обсуждаться основные направления проверки и исправления проблемных запросов SQL. Следует отметить, что это не исчерпывающий перечень, а, скорее, начальное руководство и рассмотрение наиболее общих проблем. Существуют "общие" вещи, которые нужно проверять при настройке запросов, и после обнаружения общей проблемы вы можете погрузиться глубже, найти причину, а затем исправить её.
Continue reading "Советы по настройке производительности SQL-запросов"
Пересказ статьи Aaron Bertrand. FORMAT is a convenient but expensive SQL Server function - Part 1
Я уже показывал, как
FORMAT может быть почти в два раза дороже CONVERT для базы данных Microsoft SQL Server. Это сравнение, возможно, было несколько неточным - а как насчет запутанных выражений CONVERT? Есть ли другие способы получить удобство функции даты FORMAT без увеличения времени выполнения запроса в базе данных SQL?
Continue reading "FORMAT - удобная, но дорогая функция SQL Server: часть 1"
Пересказ статьи Grant Fritchey. Data Types in PostgreSQL: Learning PostgreSQL with Grant
Когда я решил, что следующая статья должна быть посвящена типам данных, я мало представлял себе, во что ввязываюсь. Согласно
официальной документации PostgreSQL, имеется двадцать категорий типов данных. В SQL Server есть всего 35 типов данных. Я думал о том, как изучить эти типы данных и написать об этом статью. Я решил, что статья будет посвящена только категориям типов данных, а затем каким-либо интересным моментам в этих категориях. Поэтому я не собираюсь сейчас углубляться в конкретные типы данных. Это просто слишком обширная тема.
Continue reading "Типы данных в PostgreSQL: изучаем PostgreSQL с Grant Fritchey"
Пересказ статьи Grant Fritchey. How to back up and restore in PostgreSQL: Learning PostgreSQL with Grant
Когда я знакомлюсь с новой системой, я, в первую очередь, смотрю на состояние резервных копий. Я не вижу ничего такого в PostgreSQL, что привело бы меня к другому выводу. Однако я не подозревал, сколько неожиданного я открою, занимаясь резервным копированием и восстановлением.
Вместо того, чтобы сразу говорить о создании резервных копий, давайте поговорим о восстановлении.
Continue reading "Создание резервных копий и восстановление в PostgreSQL: Изучение PostgreSQL с Grant Fritchey"
Пересказ статьи Grant Fritchey. Creating a Database and Tables in PostgreSQL: Learning PostgreSQL with Grant
У вас есть локально работающий экземпляр PostgreSQL. Что дальше? Создание резервных копий. Но прежде мне нужно создать базу данных и пару таблиц, чтобы было что архивировать.
Как и в любой системе управления данными, имеется много способов это сделать. Вы можете делать все в командной строке или же использовать графический интерфейс пользователя (GUI), который позволяет вам работать с PostgreSQL. Команды SQL доступны сразу, как только вы подключились к PostgreSQL. Здесь я, в первую очередь, буду работать с Azure Data Studio (ADS). Это обусловлено тем, что:
- Мне нравится Azure Data Studio. С ней легко работать. Она быстрая. Она чистая. Она имеет плагины для выполнения различных вещей.
- Например, она очень хорошо подключается к GitHub, поэтому вы можете легко держать разрабатываемые коды на GitHub.
- Мне просто более комфортно работать над кодом с выделенным инструментом, а не просто выполняя его из командной строки.
- Я не хочу описывать каждый отдельный имеющийся метод, поэтому я должен был выбрать один. И я его выбрал.
Итак, начнем.
Continue reading "Создание базы данных и таблиц в PostgreSQL: Изучение PostgreSQL с Grant Fritchey"
Пересказ статьи Everett Berry. Inspecting Joins in PostgreSQL
PostgreSQL использует различные алгоритмы для реализации JOIN в зависимости от запроса. Мы можем исследовать план запроса, чтобы выяснить, какой тип был использован.
Введение
Реляционные базы данных распределяют свои данные по многим таблицам в соответствии с правилами нормализации или бизнес-сущностями. Это упрощает поддержку растущей схемы базы данных. Реальные запросы зачастую обращаются к нескольким таблицам, что неизбежно приводит к соединению этих таблиц.
PostgreSQL использует много алгоритмов соединения таблиц. В этой статье мы рассмотрим, как соединения работают за сценой с точки зрения планировщика, и поймем, как их оптимизировать.
Continue reading "Обзор соединений в PostgreSQL"
Пересказ статьи Esat Erkec. SQL Server Trivial Execution Plans
Введение
SQL является непроцедурным языком программирования; это подразумевает, что пользователи базы данных пишут в коде только то, что они хотят сделать, но не описывают шаги процесса как это сделать. После получения запроса внутренние компоненты ядра реляционной базы данных делают синтаксический разбор и компилируют запрос, а затем выполняют поставленную задачу. По окончанию этих задач они предоставляют результат полученного запроса.
Continue reading "Тривиальные планы выполнения в SQL Server"