#средничкам
Рассмотрим инструмент повышения производительности запросов к большим таблицам: партиционирование — разбиение таблицы на более управляемые и масштабируемые отдельные части (партиции)
Основные подходы:
• Range Partitioning — разбиение таблицы по диапазону - для дат или числовых значений.
• List Partitioning — партиционирование по списку значений, например по городам или странам.
• Hash Partitioning — полезно для равномерного распределения данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍4🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Нашел необычный тренажер по SQL и алгоритмам — IT Hero
Это платформа для прокачки навыков решения алгоритмов и SQL-запросов. Фишка сайта заключается в том, что вы соревнуетесь с соперником на время: кто быстрее найдет правильное решение задачи.
📌 Ссылочка: ithero.itresume.ru
➡️ SQL Ready | #ресурс
Это платформа для прокачки навыков решения алгоритмов и SQL-запросов. Фишка сайта заключается в том, что вы соревнуетесь с соперником на время: кто быстрее найдет правильное решение задачи.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
В этой статье:
• Небесная зона — CREATE TABLE, ORDER BY, LIMIT, JOIN...
• Поверхностная зона — транзакции, ACID, оконные функции...
• Зона солнечного света — пулы подключений, The DUAL table, plan hints...
🔊 Интересно? Читай полностью на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥7🤝5
👍9🔥5
Что делать, чтобы запрос был выполнен по плану?
#средничкам
В прошлой части мы разбирались, почему запрос может пойти не по плану. Сегодня рассмотрим, что такое VACUUM ANALYZE, и как он поможет избежать неожиданного замедления запроса.
Оптимизатору запросов критически важно знать актуальную информацию о таблице, чтобы выбрать оптимальный план запроса. Напишем запрос в нашу таблицу с миллионом записей, чтобы обновить ее статистику:
Статистика устаревает из-за добавления, изменения и удаления строк. Если таких изменений будет много, то прежняя статистика станет неактуальной. Решить эту проблему поможет автоматическое обновление статистики:
Здесь
Не ставьте слишком маленькие или большие значения измененных строк для производительности работы. Теперь установим максимальный возраст статистики до полной очистки, чтобы она не началась невовремя и определим общий объем памяти для
🔥 Отслеживайте результаты работы установленных параметров и корректируйте под ваши таблицы!
➡️ SQL Ready | #практика
#средничкам
В прошлой части мы разбирались, почему запрос может пойти не по плану. Сегодня рассмотрим, что такое VACUUM ANALYZE, и как он поможет избежать неожиданного замедления запроса.
Оптимизатору запросов критически важно знать актуальную информацию о таблице, чтобы выбрать оптимальный план запроса. Напишем запрос в нашу таблицу с миллионом записей, чтобы обновить ее статистику:
VACUUM ANALYZE books;
Статистика устаревает из-за добавления, изменения и удаления строк. Если таких изменений будет много, то прежняя статистика станет неактуальной. Решить эту проблему поможет автоматическое обновление статистики:
ALTER TABLE books
SET (autovacuum_analyze_threshold = 350,
autovacuum_analyze_scale_factor = 0.02);
Здесь
autovacuum_analyze_threshold
— минимальное количество измененных строк для запуска, autovacuum_analyze_scale_factor
— доля измененных строк от общего числа. Здесь же добавим удаление устаревших строк для оптимизации таблицы:SET (autovacuum_vacuum_threshold = 200, -- аналогично autovacuum_analyze_threshold
autovacuum_vacuum_scale_factor = 0.05);
Не ставьте слишком маленькие или большие значения измененных строк для производительности работы. Теперь установим максимальный возраст статистики до полной очистки, чтобы она не началась невовремя и определим общий объем памяти для
VACUUM
и ANALYZE
:SET (autovacuum_freeze_max_age = 100000000;
maintenance_work_mem = '512MB');
🔥 Отслеживайте результаты работы установленных параметров и корректируйте под ваши таблицы!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5