§ Популярные темы недели на форуме
Топик Сообщений Просмотров
200 (SELECT) 9 5
159 (SELECT) 7 6
153 (SELECT) 5 8
180 (Learn) 3 8
42 (DML) 3 7
§ Изменения среди лидеров рейтинга
Рейтинг Участник (решенные задачи)
11 alex_v (160, 217, 232, 233)
15 gennadi_s (201)
19 selber (147)
Continue reading "Новости за 2026-05-02 - 2026-05-08"
Пересказ статьи Dmitry Romanoff. Understanding MySQL Process List Queries: A Guide to Monitoring and Optimizing Performance
Таблица MySQL information_schema.processlist предоставляет большой объем информации о текущем состоянии сервера MySQL. Она важна для администраторов и разработчиков баз данных, чтобы мониторить эти данные для обеспечения оптимальной производительности и диагностики потенциальных проблем. В этой статье мы познакомимся с несколькими запросами MySQL, предназначенными для извлечения полезных идей из списка процессов, и обсудим, насколько они могут помочь нам в мониторинге и оптимизации сервера MySQL.
1. Просмотр всех процессов
Чтобы получить исчерпывающий обзор всех текущих процессов на сервере MySQL, вы можете использовать следующий запрос:
SELECT * FROM information_schema.processlist;
Continue reading "Понимание запросов списка процессов MySQL: руководство по мониторингу и оптимизации производительности"
Пересказ статьи Pawale. Top 5 Backup Formats and When to Use Them for PostgreSQL
Выбор правильного формата резервной копии может составлять разницу между 10-минутным восстановлением и целым днем мучений. Утилита pg_dump в PostgreSQL предоставляет множество форматов вывода, каждый из которых оптимизирован для различных сценариев - от быстрой разработки снимков до восстановления после сбоев производственных баз. Понимание этих форматов помогает построить такую стратегию восстановления, которая сбалансирует эффективность использования хранилища, скорость восстановления и операционную гибкость. В этом руководстве рассматриваются пять ключевых форматов резервных копий с указанием, когда использовать каждую из них.
Continue reading "Top 5 форматов резервных копий и когда их использовать в PostgreSQL"
Пересказ статьи Koen Verbeeck. JSON_CONTAINS Function in SQL Server 2025
У меня есть данные, пришедшие в мой SQL Server в формате JSON. Перед началом парсинга, который довольно интенсивный, необходимо проверить, присутствуют ли некоторые значения в этом JSON. Имеется ли функция, которую я могу использовать с этой целью? Давайте посмотрим, что может делать JSON_CONTAINS, новая функция в SQL Server 2025.
Формат файла JSON поддерживается в SQL Server, начиная с версии 2016, когда были введены функции
OPENJSON и
JSON_VALUE. Отличное введение в возможности SQL Server 2016 можно найти здесь:
Продвинутые методы JSON в SQL Server, часть 1,
часть 2 и
<часть 3/a>.
С каждый релизом добавляется новая функциональность для обработки данных JSON. Недавно в Azure SQL DB был реализован тип данных JSON, который теперь нашел свое применение в SQL Server 2025. Это последний предварительный релиз SQL Server на момент написания этой статьи. В отличие от многих других новых функций SQL Server, этот предварительный выпуск включает новую функциональность, которая доступна только в SQL Server 2025, но не в облачных аналогах, таких как база данных Azure SQL DB. Одной из этих новых функций является JSON_CONTAINS, которой и посвящена эта статья.
Continue reading "Функция JSON_CONTAINS в SQL Server 2025"
§ Проверка задачи 153 (SELECT, рейтинг) усилена данными от pegoopik
§ Популярные темы недели на форуме
Топик Сообщений Просмотров
153 (SELECT) 3 6
-15 (SELECT) 2 6
197 (SELECT) 2 6
29 (SELECT) 2 7
Continue reading "Новости за 2026-04-25 - 2026-05-01"
Автор: Amit Langote, Postgres: faster foreign key checks
В одной из предыдущих статей я описывал, как работает обеспечение целостности внешних ключей в Postgres. Краткая версия такова: каждая команда INSERT или UPDATE в таблицу, ссылающуюся на другую, запускает триггер AFTER, который проверяет, существуют ли значения столбца внешнего ключа (FK) в ссылочной (PK) таблице. Эта проверка проходит через SPI (Server Programming Interface): строится запрос, он планируется, выполняется, а затем всё уничтожается — для каждой отдельной строки.
Это дорогостоящая операция. При массовой вставке (INSERT) миллиона строк в таблицу с внешним ключом вы выполняете миллион мини-запросов к индексу таблицы первичного ключа. Каждый из них открывает отношение первичного ключа, захватывает снимок (snapshot), выполняет проверку прав, делает поиск по индексу и закрывает всё. Стоимость одной строки в абсолютном выражении невелика, но она очень быстро накапливается.
Для Postgres 19 я применил два патча (соавтором обоих является Джунванг Жао), которые полностью обходят SPI для стандартного случая и выполняют пакетную (batch) проверку индекса. Вместе они ускоряют массовые вставки с внешними ключами примерно в 2.9 раза в используемом мною тесте (int первичный ключ, int внешний ключ, 1 миллион строк, таблица первичного ключа и её индекс в памяти).
Что деаёт быстрый путь (fast path)
Continue reading "Postgres: более быстрые проверки внешних ключей"