DELETE + RETURNING: удаление с получением результата!
При очистке данных важно понимать, какие строки были реально удалены. Оператор
Создадим таблицу:
Удалим неактивные сессии и сразу получим нужные поля:
Результат:
🔥 Такой приём повышает прозрачность операций и упрощает аудит. Работает также с
➡️ SQL Ready | #практика
При очистке данных важно понимать, какие строки были реально удалены. Оператор
RETURNING в PostgreSQL позволяет вернуть данные удалённых строк без дополнительного запроса.Создадим таблицу:
CREATE TABLE sessions (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
user_id BIGINT NOT NULL,
last_active TIMESTAMPTZ NOT NULL
);
Удалим неактивные сессии и сразу получим нужные поля:
DELETE FROM sessions
WHERE last_active < NOW() - INTERVAL '30 days'
RETURNING id, user_id;
Результат:
id | user_id
----+---------
12 | 3
18 | 7
25 | 3
🔥 Такой приём повышает прозрачность операций и упрощает аудит. Работает также с
INSERT и UPDATE, что делает SQL-операции атомарными.Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤8🔥7
Временные таблицы позволяют хранить промежуточные результаты, создавать индексы, изолировать эксперименты и оптимизировать пайплайны.
Сегодня в посте:
• Как создавать и использовать временные таблицы;
• Как ускорить аналитику с помощью индексов;
• Почему TEMP TABLE лучше, чем CTE, для сложных цепочек.
Смысл временных таблиц не в удобстве, а в контроле. Сами решаете, когда считать, что кешировать и как двигать данные между шагами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍7🤝5❤1
В этой шпаргалке — функции PostGIS для пространственного анализа: вычисление расстояний и площадей, определение пересечений и вложенности геометрий, создание буферов и экспорт в GeoJSON. Эти инструменты полноценной ГИС-платформой для хранения, обработки и анализа геоданных.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥8❤6
Covering Index — как реально ускорить SELECT!
Даже с индексом СУБД может работать медленно — после поиска всё равно нужно обращаться к таблице за данными.
Если запрос обращается только к колонкам, включённым в индекс — таблица может не читаться вовсе:
Теперь запрос:
Выполняется полностью из индекса — минимум I/O, максимум скорости.
В PostgreSQL это видно как
Работает только если строки помечены
🔥 Не забывайте: больше индексов = больше места и медленнее вставки/обновления.
➡️ SQL Ready | #совет
Даже с индексом СУБД может работать медленно — после поиска всё равно нужно обращаться к таблице за данными.
Covering Index — это индекс, который уже содержит все данные, нужные запросу.Если запрос обращается только к колонкам, включённым в индекс — таблица может не читаться вовсе:
CREATE INDEX idx_orders_status_user
ON orders (status, user_id);
Теперь запрос:
SELECT user_id, status
FROM orders
WHERE status = 'pending';
Выполняется полностью из индекса — минимум I/O, максимум скорости.
В PostgreSQL это видно как
Index Only Scan в плане:EXPLAIN ANALYZE SELECT ...
Работает только если строки помечены
all-visible (visibility map). В MySQL аналог — Using index, в SQL Server — INCLUDE в индексе. 🔥 Не забывайте: больше индексов = больше места и медленнее вставки/обновления.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍9🤝7🔥3
Когда: 25–28 ноября
Формат: онлайн + финал на площадке
Участвуй, если ты:
Выбери свой кейс:
✴️ VibeCode Jam: собеседование будущего. Создай ИИ-платформу для прохождения технических собеседований с виртуальным интервьюером.✴️ Self-Deploy: CI/CD без DevOps. Автоматизируй генерацию CI/CD пайплайнов по анализу структуры Git-репозитория.
Почему стоит участвовать:
Регистрация открыта!
Реклама. ООО "ГК "Иннотех" ИНН 9703073496 ERID 2VtzqxXvjVG
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1
Сегодня создаём небольшой симулятор: база данных загадывает число от 1 до 10, а игрок пытается его угадать тысячу раз.
В этом посте:
• Генерируем данные через GENERATE_SERIES() и RANDOM();
• Проверяем, сколько попыток оказались успешными;
• Анализируем распределение “удачных” чисел по всем догадкам.
Игра помогает тестировать генераторы случайных значений, проверять равномерность распределений и моделировать тесты.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍6❤4🤝4
This media is not supported in your browser
VIEW IN TELEGRAM
Если работаешь с базами и хочешь понимать, как Postgres устроен изнутри, этот сайт точно стоит внимания. Здесь подробно объясняется, как хранятся данные, работают индексы, транзакции и репликация. Всё показано на схемах и описано простым языком.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥7🤝6