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
#средничкам
В прошлый раз мы написали триггер-аудит на внесение изменений в нашу таблицу. Сегодня определим исполняемую функцию, которая и будет записывать, кто внес именно изменения.
Основные функции:
• Работает автоматически и только по сигналу от триггера.
• Записывает все изменения в отдельную таблицу.
• Фиксирует кто и когда внес изменения.
Триггеры в SQL — полезный инструмент, который зачастую бывает просто необходим для реализации какой-либо бизнес-логики. Мы рассмотрели как с нуля создать триггер на аудит изменений, и теперь вы сможете применить эти знания в своих проектах!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥6🤝2
В этой статье:
• Все начальные термины и команды в SQL.
• Целостность данных и нормализация БД.
• Транзакции и временные таблицы.
🔊 Интересно? Читай полностью на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Уже были разные сайты, и пришло время быстренько изучить Git
learngitbranching — небольшая браузерная игра, которая поможет вам изучить Git. В ней вы познакомитесь с основными командами, которые пригодятся вам в повседневной работе.
📌 Оставляю ссылочку: learngitbranching.js
➡️ SQL Ready | #ресурс
learngitbranching — небольшая браузерная игра, которая поможет вам изучить Git. В ней вы познакомитесь с основными командами, которые пригодятся вам в повседневной работе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
•
DESC
— сортирует результирующую таблицу по убыванию переданного поля.•
ASC
— также сортирует результат запроса, но уже по возрастанию, не требует явного указания.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝12🔥5👍2