Skip to content

PostgreSQL. Как выявить запросы, которые максимально используют временные файлы?

Пересказ статьи Dmitry Romanoff. Postgres. How to check the top queries that use temporary files?


Временные файлы в базе данных PostgreSQL могут стать проблемой по нескольким причинам:

  1. Влияние на производительность.

  2. Использование пространства на диске.

  3. Может выделяться все больше и больше памяти.

  4. Проблемы параллелизма.

  5. Сложность в мониторинге и обслуживании.

Что следует делать, чтобы избежать временных файлов в базе данных PostgreSQL?
Continue reading "PostgreSQL. Как выявить запросы, которые максимально используют временные файлы?"

Новости за 2024-10-05 - 2024-10-11

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

Топик		Сообщений	Просмотров
69 (SELECT) 2 6
56 (Learn) 2 8

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

Автор		Сообщений
selber 3
chuvstvinmaxim 2
yarosurafu 2

§ Изменения среди лидеров рейтинга

Рейтинг	Участник (решенные задачи)
54 gennadi_s (149)
70 born2tilt (166, 195)

Continue reading "Новости за 2024-10-05 - 2024-10-11"

Секционирование таблицы по диапазону в базе данных PostgreSQL

Пересказ статьи Dmitry Romanoff. Partitioning a table by range in the PostgreSQL database


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

Здесь я на практике продемонстрирую, как работает секционирование. Continue reading "Секционирование таблицы по диапазону в базе данных PostgreSQL"

Оптимизационные трюки в PostgreSQL. Как быстро загрузить данные: часть 1

Пересказ статьи Mitchell Warr. PostgreSQL Optimization Tricks: How to Load Data Fast Part 1


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

Вы открываете объяснение плана запроса и заглядываете под капот в чем-то типа https://explain.dalibo.com. Но что вы фактически можете сделать?

Continue reading "Оптимизационные трюки в PostgreSQL. Как быстро загрузить данные: часть 1"

Новости за 2024-09-28 - 2024-10-04

§ Изменения среди лидеров рейтинга

Рейтинг	Участник (решенные задачи)
55 gennadi_s (147)
73 born2tilt (170, 203, 204, 235, 238, 260)

§ Лидеры недели

	Участник		w_sel	all_sel	select	dml	Всего	Рейтинг
Чувствин М. (chuvstvinmaxim) 20 54 38 0 38 1287
Metalnikov (kirillmet) 14 58 24 0 24 880
Москвин П. (Respect) 14 17 19 4 23 4070
Руднев В.В. (pazartesi) 8 46 18 2 20 1179
Любомудров Р.Г. (born2tilt) 9 173 14 0 14 73
Степаненко К.Ю. (St.Constanti 7 48 13 0 13 1044
Сергеева О.Б. (Valkiri9) 8 17 10 0 10 4514
Протасов Д.Е. (preblud) 6 6 8 5 13 5563
Кочеров Е.С. (ssense) 6 22 8 0 8 1801
Бабаян (Eliorika) 4 4 5 2 7 6777
Голинский М.О. (motcan2) 4 12 5 0 5 3358
Назаренко И.Ю. (ki.mono) 4 7 5 0 5 5574
Eremkin A. (Artyom Eryomkin) 4 4 5 0 5 7455
Саркисьян Г. (gennadi_s) 1 158 4 0 4 55
Курицын В.Н. (ValNick) 1 151 4 0 4 137
Smith (tibacityblues) 3 11 4 0 4 2480
Мельников Е. (AckermanL) 4 14 4 0 4 4925
Иванов П.И. (sqlSolver123) 3 4 4 0 4 8135
Continue reading "Новости за 2024-09-28 - 2024-10-04"

Более эффективный подсчет

Пересказ статьи Aaron Bertrand. Counting more efficiently


Почти десятилетие назад я написал статью с названием «Вредные привычки: трудный подсчет строк». В той статье я говорил о том, как мы можем использовать метаданные для мгновенного получения числа строк в таблице. Обычно люди делают следующее, что приводит к чтению всей таблицы или индекса:

DECLARE @c int = (SELECT COUNT(*) FROM dbo.TableName);

Чтобы в значительной степени избежать ограничений на размер данных, вместо этого мы можем использовать sys.partitions. Continue reading "Более эффективный подсчет"

Планирование планов. Часть 26 - окна с диапазонной рамкой

Пересказ статьи Hugo Kornelis. Plansplaining part 26 – Windows with a ranged frame


Это двадцать шестая часть данной серии (plansplaining). И уже четвертый эпизод об оконных функциях. Первая из этих статей была посвящена базовым оконным функциям; вторая была посвящена быстрой оптимизации накопительных агрегатов, а в третьей публикации объяснялось, как оптимизатор работает при отсутствии поддержки плана выполнения для UNBOUNDED FOLLOWING.
Continue reading "Планирование планов. Часть 26 - окна с диапазонной рамкой"

Новости за 2024-09-21 - 2024-09-27

§ В ответ на замечание chuvstvinmaxim усилена проверка задачи 12 (SELECT, рейтинговый этап).


§ Лидеры недели

	Участник		w_sel	all_sel	select	dml	Всего	Рейтинг
Чувствин М. (chuvstvinmaxim) 22 34 33 0 33 2085
Odilbekov J. (xerxessql) 17 17 22 2 24 4348
Любомудров Р.Г. (born2tilt) 11 164 20 0 20 91
Metalnikov (kirillmet) 9 44 19 0 19 1140
Степаненко К.Ю. (St.Constanti 7 41 17 0 17 1191
Gavrilov G.A. (potasovka) 6 63 13 28 41 728
Товстык Д.О. (bdlck) 6 12 8 0 8 5223
Сергеева О.Б. (Valkiri9) 5 9 8 0 8 5593
Руднев В.В. (pazartesi) 3 38 7 0 7 1415
Кочеров Е.С. (ssense) 6 16 7 0 7 2084
Саркисьян Г. (gennadi_s) 2 157 6 0 6 60
Фролов К.А. (Murderface_) 1 154 4 0 4 132
Назаренко (Igagoshka) 3 3 4 0 4 9028
Continue reading "Новости за 2024-09-21 - 2024-09-27"

Искусство хранимой процедуры SQL Server: типы данных

Пересказ статьи Erik Darling. The Art Of The SQL Server Stored Procedure: Data Types


Смесь и соответствие


Есть лишь несколько типов данных, которые нервируют меня, когда я их вижу:

    Строки MAX или близкие к верхнему пределу по байтам (за исключением динамического SQL)
    XML
    sql_variant

Не важно, являются ли они параметрами хранимой процедуры или объявляются в локальных переменных. Когда они появляются, я ожидаю следом чего-то плохого.
Continue reading "Искусство хранимой процедуры SQL Server: типы данных"

Программирование на Python в Microsoft Excel

Пересказ статьи Fareed Khan. Python Programming in Microsoft Excel


В новаторском сотрудничестве Anaconda и Microsoft представили инновацию, меняющую правила игры: Python в Excel. Эта революционная интеграция изменила как для пользователей Excel, так и для практикующих Python, подход к анализу данных и привнесла новый уровень доступа к современной аналитике. Это партнерство сочетает мощь Python со знакомым интерфейсом Excel, трансформируя аналитику данных в более интегрированный, мощный и доступный способ получения результатов. В этом блоге мы узнаем, что дает Python в Excel, его преимущества и то, как вы можете начать путешествие по анализу данных.
Continue reading "Программирование на Python в Microsoft Excel"

Новости за 2024-09-14 - 2024-09-20

§ Лидеры недели

	Участник		w_sel	all_sel	select	dml	Всего	Рейтинг
Metalnikov (kirillmet) 22 35 36 0 36 1364
Чувствин М. (chuvstvinmaxim) 12 12 16 0 16 5217
Gavrilov G.A. (potasovka) 9 57 14 0 14 1219
Любомудров Р.Г. (born2tilt) 5 153 13 0 13 131
Кочеров Е.С. (ssense) 9 10 13 0 13 2471
Руднев В.В. (pazartesi) 8 35 11 6 17 1520
Zubarev A. (agressivekid) 4 4 5 13 18 5037
Култынина М. (Margarita_dlana) 4 4 5 0 5 7802
Степаненко К.Ю. (St.Constanti 2 34 4 0 4 1392

Continue reading "Новости за 2024-09-14 - 2024-09-20"

Кортежи или списки в Python - что эффективней?

Пересказ статьи Rinu Gour. Python Tuples vs Lists - Which Is More Efficient?


Python предлагает многообразные структуры хранения и манипуляции данными. Двумя наиболее часто используемыми структурами данных в Python являются списки и кортежи.

Здесь мы обсудим различия между списками и кортежами, их характеристики, варианты использования, методы и операции. Continue reading "Кортежи или списки в Python - что эффективней?"

Конструирование запросов SQL с помощью Python

Пересказ статьи Rajan Sahu. Constructing SQL Queries With Python


Способность быстро и легко писать запросы SQL является решающей при взаимодействии с базами данных в Python-разработках. Создание сложных и понятных запросов SQL выполняется проще с помощью Pypika, надежного и удобного для пользователя пакета Python. В этой статье блога мы рассмотрим основные возможности Pypika, проверим несколько типичных случаев использования и оценим его функции на конкретных примерах.
Continue reading "Конструирование запросов SQL с помощью Python"

Новости за 2024-09-07 - 2024-09-13

§ В ответ на сообщение alexey321 усилена проверка задачи 70 (SELECT, обуч. этап).


§ Пересчитал сложность задач обучающего этапа. Возможны изменения рейтинговых позиций.


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

Топик		Сообщений	Просмотров
159 (Learn) 2 5
32 (Learn) 2 12
Continue reading "Новости за 2024-09-07 - 2024-09-13"

Код базы данных на основе множеств или на основе строк

Пересказ статьи Kevin. Set-Based vs Row-Based Database Code


В SQL Server термины "на основе множеств" и "на основе строк" относятся к различным подходам или стилям написания кода SQL при манипуляции с данными. Эти стили оказывают влияние на производительность, читабельность и способ, который используется при обработке запросов. Давайте рассмотрим различия между кодом на основе множеств и кодом на основе строк:
Continue reading "Код базы данных на основе множеств или на основе строк"