Skip to content

Обзор оконных функций PostgreSQL

Пересказ статьи rohind. An Overview of PostgreSQL Window Functions


Эта статья является руководством по использованию оконных функций SQL в приложениях, для которых требуется выполнять тяжелые вычислительные запросы. Данные множатся с поразительной скоростью. В 2022 в мире произведено и потреблено 94 зетабайтов данных. Сегодня у нас есть множество инструментов типа Hive и Spark для обработки Big Data. Несмотря на то, что эти инструменты различаются по типам проблем, для решения которых они спроектированы, они используют базовый SQL, что облегчает работу с большими данными. Оконные функции являются примером одной из таких концепций SQL. Это необходимо знать инженерам-программистам и специалистам по данным.
Продолжить чтение "Обзор оконных функций PostgreSQL "

Решение проблем производительности при использовании UDF в SQL Server

Пересказ статьи Eric Blinn. Performance Problems and Solutions when using User Defined Functions in SQL Server


Может ли определяемая пользователем функция (UDF) являться причиной проблем с производительностью в SQL Server? Как это выяснить? Если это может быть частью проблемы, то что тут можно сделать?

UDF могут быть очень привлекательны для новых разработчиков T-SQL, особенно для тех, кто пришел с опытом в более традиционных процедурных языках программирования. Эти функции позволяют обеспечить более высокую степень повторного использования кода и могут упростить его читабельность. К сожалению, SQL Server использует теоретико-множественную парадигму программирования и зачастую не так хорош при выполнении UDF. Что хуже, многие традиционные методы настройки производительности не точно оценивают влияние UDF на запросы. Здесь мы будем изучать эту проблему и способы ее обхода.
Продолжить чтение "Решение проблем производительности при использовании UDF в SQL Server"

Временные таблицы в PostgreSQL

Пересказ статьи Shivayan Mukherjee. PostgreSQL Temporary Table


В этом руководстве изучаются временные таблицы PostgreSQL и их использование. Рассматривается базовый синтаксис и приводится несколько примеров, поясняющих их функциональность.

Определение


Временная таблица PostgreSQL, как подразумевает ее название, является таблицей, которая существует для данной сессии и автоматически удаляется, когда эта сессия закрывается. Временная таблица связана с данной сессией, и к ней нет доступа из другой сессии. Запрос из другой сессии вернет ошибку, если она попытается получить доступ к временной таблице, созданной не в этой сессии. Продолжить чтение "Временные таблицы в PostgreSQL"

Руководство по функциям json_object и json_array в SQL Server 2022

Пересказ статьи Daniel Calbimonte. json_object and json_array Functions SQL Server 2022 Tutorial


С каждым днем JSON становится все более популярным и используется во многих системах. Есть ли способ построения собственных объектов JSON, используя T-SQL вместо Python?

В SQL Server появилась новая функция, которая называется JSON_OBJECT и служит для конструирования объектов JSON с помощью T-SQL. Кроме того, была добавлена функция JSON_ARRAY для создания массивов в JSON. В этом руководстве будет показано как работать с этим новыми функциями.

Продолжить чтение "Руководство по функциям json_object и json_array в SQL Server 2022"
Категории: T-SQL

Оптимизация запросов в MySQL: оптимизация чтений

Пересказ статьи Lukas Vileikis. Optimizing Queries in MySQL: Optimizing Reads


Оптимизация операций чтения является одной из наиболее частых проблем, с которой сталкивается любой администратор баз данных. Не важно, какая система управления базами данных используется - MySQL, ее клоны Percona Server или MariaDB, MongoDB, TimescaleDB, SQL Server, или какие-либо другие, запросы на чтение касаются их всех. В первую очередь, можно привести примеры запросов SELECT, но многое также относится к UPDATE и DELETE, поскольку эти операторы тоже должны извлекать строки для работы с ними.

В этом блоге мы расскажем, как решить проблемы, связанные с этим вопросом. В конце статьи приводятся некоторые операторы DDL для загрузки тестовых данных. Продолжить чтение "Оптимизация запросов в MySQL: оптимизация чтений"

Ограничения в PostgreSQL: учим PostgreSQL вместе с Grant Fritchey

Пересказ статьи Grant Fritchey. PostgreSQL Constraints: Learning PostgreSQL with Grant


Одними из наиболее важных аспектов управления данными является способность гарантировать, что данные в вашей базе данных хорошо определены и согласованы. Некоторые из этих аспектов обеспечиваются реляционными структурами данных, которые вы проектируете. Другая часть управления заключается в использовании корректных типов данных. Затем мы переходим к ограничениям. Ограничение - это способ валидации данных перед их добавлением в вашу базу данных. Это еще один инструмент в вашем ящике, который помогает поддерживать хорошие данные.
Продолжить чтение "Ограничения в PostgreSQL: учим PostgreSQL вместе с Grant Fritchey"

Столбцы, допускающие и не допускающие значения NULL, и добавление Not Null без ступора в PostgreSQL

Пересказ статьи rohind. Nullable vs Non-Nullable Columns and Adding Not Null Without Downtime in PostgreSQL


В этой статье мы поговорим о столбцах, которые допускают и не допускают NULL-значения применительно к базам данных PostgreSQL. Хотя на первый взгляд причины использовать те или иные столбцы кажутся очевидными, имеются неожиданности, связанные с каждым решением, которые сказываются либо на скорости разработки, либо на производительности приложения, либо вызывают ожидание.

Начнем с определений. Термины Nullable и non-nullable для столбцов используются для описания возможности для столбца таблицы базы данных допускать или не допускать значения NULL. NULL означает неизвестные или отсутствующие данные. Это не то же самое, что пустая строка или число нуль. Например, вам требуется вставить адрес электронной почты контакта в таблицу. Если вы не знаете, имеет ли контакт электронную почту, вы можете вставить NULL в столбец электронного адреса. В этом случае NULL означает, что электронный адрес неизвестен. NULL ничему не равен, даже самому себе. Выражение 'NULL == NULL' возвращает 'NULL', поскольку два неизвестных значения не должны быть равными. Для проверки наличия значения 'NULL' вы используете логический оператор 'IS NULL'. Оператор ниже вернет true для значения NULL или false в противном случае.
Продолжить чтение "Столбцы, допускающие и не допускающие значения NULL, и добавление Not Null без ступора в PostgreSQL"

Что вызывает мою скалярную функцию T-SQL (миллион раз)?

Пересказ статьи Matthew McGiffen. What is calling my T-SQL scalar function (millions of times)?


Здесь рассматривается метод, использующий расширенные события (XE) для идентификации родительских объектов, которые вызывают заданную функцию SQL и насколько часто.

Я работал в команде, когда выяснилось, что определенная функция выполнялась миллиарды раз на дню и - хотя одно выполнение почти не потребляло ресурсов - в целом это вызывало значительное использование CPU на сервере. Мы обсуждали способ улучшения ситуации, но это требовало изменения кода, который ее вызывал. Проблема заключалась в том, что эта функция использовалась примерно в 700 различных мест по всему коду базы данных - как в хранимых процедурах, так и в представлениях - хотя на сами представления могли затем ссылаться другие хранимые процедуры. Вместо того, чтобы обновлять весь код, разработчики хотели бы сначала выявить объекты, которые чаще всего выполняют эту функцию.
Продолжить чтение "Что вызывает мою скалярную функцию T-SQL (миллион раз)?"
Категории: T-SQL

Новости за 2023-05-27 - 2023-06-02

§ Усилена проверка задачи 57 (SELECT, рейтинг) данными от GrafSobakin.


§ Популярные темы недели на форуме


Топик		Сообщений
14 (Learn) 2

§ Авторы недели на форуме


Автор		Сообщений
soskaBaltiki 3
Хэппидемия 2
Продолжить чтение "Новости за 2023-05-27 - 2023-06-02"