SQL Ready | Базы Данных
前往频道在 Telegram
Авторский канал про Базы Данных и SQL Ресурсы, гайды, задачи, шпаргалки. Информация ежедневно пополняется! Cотрудничество: @energy_c РКН: https://clck.ru/3QREBc
显示更多📈 Telegram 频道 SQL Ready | Базы Данных 的分析概览
频道 SQL Ready | Базы Данных (@sql_ready) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 17 670 名订阅者,在 技术与应用 类别中位列第 7 345,并在 俄罗斯 地区排名第 37 222 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 17 670 名订阅者。
根据 17 十月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 691,过去 24 小时变化为 41,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 12.44%。内容发布后 24 小时内通常能获得 5.98% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 2 198 次浏览,首日通常累积 1 057 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 23。
- 主题关注点: 内容集中在 sql, строка, users, индекс, user_id 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Авторский канал про Базы Данных и SQL
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!
Cотрудничество: @energy_c
РКН: https://clck.ru/3QREBc”
凭借高频更新(最新数据采集于 18 十月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
17 670
订阅者
+4124 小时
+1797 天
+69130 天
帖子存档
17 670
Очнись, нас готовят к цифровому ГУЛАГу
Уже в десятках регионов России отключают мобильный интернет (даже когда нет атак БПЛА), тестируют «белые списки» и замедляют Телегу.
90% людей тупо смотрят на уплывающий корабль свободного Интернета. Люди поумнее готовятся к новой реальности и читают «Пакет Безопасности».
Здесь дают самые свежие связки для приватности: приложения и утилиты на случай вайтлистов, прокси, браузеры, сервисы — чего тут только нет.
Без шуток, сейчас это один из самых полезных каналов в Телеге. Надеемся на лучшее, но к чему нужно готовиться — вы и сами понимаете: @package_security
17 670
👨💻 Koddo — сайт с теорией и практикой для обучения!
Платформа для изучения SQL через решение реальных задач прямо в браузере. На практике разбираются выборки и фильтрация,
GROUP BY и HAVING, JOIN, работа с датами, подзапросы, CTE и оконные функции. Решения автоматически проверяются, а AI-ассистент может дать подсказку, не раскрывая готовый ответ.
📌 Оставляю ссылочку: koddo.ru
➡️ SQL Ready | #ресурс17 670
+4
🖥 Oracle — преобразование и проверка данных!
Шпаргалка по преобразованию и проверке данных в Oracle: работа со строками, числами, датами, временем и Unicode. Используется для явного преобразования типов, форматирования значений, проверки корректности входных данных и обработки символьных данных.
➡️ SQL Ready | #шпора17 670
Временные таблицы: различия между TEMP, CTE и материализацией данных!
В SQL существует несколько способов работать с промежуточными результатами. Основные варианты — временные таблицы, CTE через
WITH и обычные подзапросы. Выбор между ними влияет на читаемость запроса, возможность повторного использования данных и работу оптимизатора.
Временная таблица создаётся внутри текущей сессии базы данных и существует до её завершения или до явного удаления. Она подходит для многоэтапной обработки данных, когда результат нужно использовать в нескольких следующих запросах.
CREATE TEMP TABLE monthly_sales AS
SELECT
customer_id,
SUM(amount) AS total_amount
FROM orders
WHERE created_at >= '2026-01-01'
GROUP BY customer_id;
После создания временная таблица становится отдельным объектом базы данных. К ней можно обращаться как к обычной таблице, создавать индексы и выполнять дополнительные операции.
SELECT *
FROM monthly_sales
WHERE total_amount > 10000;
Временные таблицы особенно полезны при сложных процессах обработки данных, где нужно разделить вычисления на несколько этапов и повторно использовать промежуточный результат.
CREATE INDEX idx_monthly_sales_customer_id
ON monthly_sales(customer_id);
CTE (Common Table Expression) создаётся с помощью конструкции WITH и существует только во время выполнения одного SQL-запроса. Он помогает сделать сложную логику более читаемой и структурированной.
WITH monthly_sales AS (
SELECT
customer_id,
SUM(amount) AS total_amount
FROM orders
GROUP BY customer_id
)
SELECT *
FROM monthly_sales
WHERE total_amount > 10000;
В PostgreSQL начиная с версии 12 CTE может быть автоматически встроен оптимизатором в основной запрос. Это называется CTE inlining. В таком случае отдельное промежуточное хранилище данных не создаётся.
WITH active_users AS MATERIALIZED (
SELECT *
FROM users
WHERE status = 'active'
)
SELECT *
FROM active_users;
Основное отличие MATERIALIZED заключается в том, что PostgreSQL принудительно сохраняет результат CTE перед дальнейшей обработкой. Это может быть полезно, если один и тот же результат используется несколько раз или нужно избежать повторного выполнения тяжёлого вычисления.
WITH user_stats AS MATERIALIZED (
SELECT
user_id,
COUNT(*) AS orders_count
FROM orders
GROUP BY user_id
)
SELECT
a.user_id,
a.orders_count
FROM user_stats a
JOIN user_stats b
ON a.user_id = b.user_id;
Однако использование CTE не всегда означает материализацию. PostgreSQL самостоятельно выбирает оптимальный способ выполнения запроса, если не указано MATERIALIZED или NOT MATERIALIZED.
WITH user_stats AS NOT MATERIALIZED (
SELECT
user_id,
COUNT(*) AS orders_count
FROM orders
GROUP BY user_id
)
SELECT *
FROM user_stats;
Если промежуточный результат большой и используется несколько раз в рамках сложного процесса, временная таблица часто подходит лучше. Она позволяет создать индексы, выполнять дополнительные запросы и управлять этапами обработки отдельно.
CREATE TEMP TABLE user_stats AS
SELECT
user_id,
COUNT(*) AS orders_count
FROM orders
GROUP BY user_id;
CREATE INDEX idx_user_stats_user_id
ON user_stats(user_id);
ANALYZE user_stats;
Команда ANALYZE после заполнения временной таблицы помогает PostgreSQL получить актуальную статистику и выбрать более эффективный план выполнения запроса.
Обычный подзапрос существует только внутри конкретного SQL-выражения. Он подходит для локальных вычислений, когда результат нужен только в одном месте и не требуется повторное использование.
SELECT *
FROM (
SELECT
user_id,
COUNT(*) AS orders_count
FROM orders
GROUP BY user_id
) s
WHERE orders_count > 50;
🔥 Выбор подходящего варианта зависит от задачи. CTE обычно используют для повышения читаемости и разделения сложной логики внутри одного запроса. Временные таблицы подходят для многошаговой обработки, больших промежуточных результатов и случаев, когда нужны индексы. Подзапросы удобны для простых локальных вычислений внутри одного SQL-выражения.
➡️ SQL Ready | #практика17 670
Оффер в IT за 3 дня - да!
Вот такой крутой кейс получился у команды ИИ-ассистента Софи🤘
Пользователь зашел на триал, не заплатил за подписку и успел получить оффер с отклика, который сделал бот.
▫️Направление - бэкенд разработка
▫️3 приглашения на собес за 72 часа
▫️Оффер, с зарплатой на 20.000 больше указанной в резюме
Если тоже хочешь попробовать 3 бесплатных дня в Софи - доступ открыт, регистрируйся здесь.
17 670
📂 Напоминалка по SQL JOIN!
Например,
SEMI JOIN позволяет получить строки, для которых есть совпадение в другой таблице, ANTI JOIN — найти строки без совпадений, а NATURAL JOIN автоматически соединяет таблицы по одноимённым столбцам.
На картинке — наглядное сравнение трёх подходов: SEMI JOIN через EXISTS, ANTI JOIN через NOT EXISTS и NATURAL JOIN, а также показано, чем SEMI JOIN отличается от обычного INNER JOIN.
Сохрани, чтобы не потерять!
➡️ SQL Ready | #ресурс17 670
🧐 Крутая статья лежит на Хабре: «Avalon: как построить эффективный Feature Store на YDB»!
В этой статье:
• Разбирается архитектура Avalon — масштабируемого Feature Store для централизованного хранения и быстрого получения миллиардов признаков;
• Показывается, как с помощью YDB организованы шардирование, точечные и batch-запросы, импорт данных, ACL и Change Data Capture;
• Рассказывается, какие архитектурные решения позволяют системе работать с 6,5 млрд ключей и выдерживать до 100 тысяч RPS на чтение при P95 около 5 мс.
🔊 Продолжайте читать на Habr!➡️ SQL Ready | #статья
17 670
📂 Напоминалка по проектированию систем (System Design)!
Например, Load Balancing распределяет нагрузку между сервисами, Caching ускоряет доступ к данным, а Replication и Sharding помогают масштабировать базы данных.
На картинке — карта основных тем System Design: архитектура приложений, микросервисы, базы данных, масштабирование, безопасность, мониторинг и инфраструктура.
Сохрани, чтобы не потерять!
➡️ SQL Ready | #ресурс
17 670
🧐 Шпаргалка по оконным функциям SQL с примерами!
Полезный материал для тех, кто хочет разобраться с оконными функциями SQL и научиться применять их в запросах. Здесь объясняется, чем оконные функции отличаются от обычной агрегации, как устроена конструкция OVER и как работать с отдельными группами строк без их объединения.
📌 Оставляю ссылочку: datalaboratory.one
➡️ SQL Ready | #ресурс
17 670
📂 Напоминалка по возможностям PostgreSQL!
Например, PostgreSQL отлично подходит не только для обычных CRUD-приложений (OLTP), но и для аналитики (OLAP), работы с геоданными, временными рядами, распределёнными таблицами и интеграции с внешними источниками данных через Foreign Data Wrapper (FDW).
На картинке — обзор основных направлений применения PostgreSQL и популярных расширений.
Сохрани, чтобы не потерять!
➡️ SQL Ready | #ресурс
17 670
👨💻 Наткнулся на интересную статью на Хабре: «Реализация автоудаления блокирующих сессий в MS SQL»!
В этой статье:
• Разбирается механизм поиска корневых блокирующих сессий с помощью системных представлений MS SQL Server;
• Показывается, как реализовать автокиллер на T-SQL с логированием, анализом цепочек блокировок и безопасным удалением зависших транзакций;
• Объясняется, как автоматизировать мониторинг блокировок через SQL Server Agent и сохранить историю для последующего анализа.
🔊 Продолжайте читать на Habr!
➡️ SQL Ready | #статья17 670
Сравнивайте несколько колонок как одно значение!
В PostgreSQL необязательно расписывать сравнение нескольких полей через длинные цепочки
AND и OR. Можно использовать row constructor comparison — сравнить сразу кортежи значений.
Например, условие для keyset pagination часто пишут так:
WHERE user_id > :user_id
OR (user_id = :user_id AND id > :id)
Но PostgreSQL умеет выразить то же самое напрямую:
WHERE (user_id, id) > (:user_id, :id)
ORDER BY user_id, id
LIMIT 100;
Сравнение идёт слева направо: сначала user_id, а если значения равны — id. Поэтому конструкция естественно совпадает с лексикографическим порядком составного ORDER BY.
И это не просто сокращение синтаксиса. Под такой запрос можно сделать обычный составной B-tree индекс:
CREATE INDEX orders_user_id_id_idx
ON orders (user_id, id);
Тот же приём работает с диапазонами составных ключей:
WHERE (year, month) >= (2026, 4)
AND (year, month) < (2027, 1)
🔥 Row comparison позволяет заменить громоздкую булеву логику сравнением кортежей и особенно хорошо ложится на keyset pagination и составные B-tree индексы. Важно только помнить про NULL: обычные сравнения с ним могут дать UNKNOWN.
➡️ SQL Ready | #совет17 670
7 дней бесплатного обучения frontend-разработке!
Получи востребованные навыки:
1. Генерация сайтов через Giga, DeepSeek, ChatGPT
2. Вёрстка страниц по макету на HTML + CSS
3. Оживление сайта анимацией элементов
4. Публикация сайта
5 Оформление портфолио
6. Поиск заказов
7. Лайфхаки по карьере
И советы по доработке проекта от опытных разработчиков.
Присоединяйся
👆
17 670
🧐 Материалы по базам данных — информатвный набор для изучения SQL и СУБД!
Большая подборка учебных материалов по базам данных: книги, лекции, лабораторные работы и задания по SQL, PostgreSQL и Microsoft SQL Server. Внутри собраны материалы по ключевым темам, которые нужны разработчику при работе с базами данных: основы реляционной модели и проектирования БД, нормализация данных и ограничения (constraints), агрегатные функции, JOIN, подзапросы и др.
Оставляю ссылочку: GitHub 📱
➡️ SQL Ready | #репозиторий
17 670
📂 Git Fundamentals: шпаргалка по основным операциям и workflow!
Разобраны основные элементы Git-экосистемы: структура репозитория, работа с индексом (staging area), создание коммитов, управление ветками, слияние изменений, взаимодействие с remote-репозиториями и основные команды для ежедневной разработки.
На картинке — визуальное представление Git workflow, жизненный цикл изменений от рабочей директории до удалённого репозитория, а также базовые операции
commit, branch, merge, fetch, pull и push.
Сохрани, чтобы не потерять!
➡️ SQL Ready | #ресурс17 670
👨💻 Yandex Cloud — инженерные материалы по SQL и базам данных!
На сайте собраны статьи и документация по работе с базами данных и SQL. Материалы помогают разобраться не только с написанием запросов, но и с тем, как работают внутренние механизмы СУБД: транзакции, индексы, оптимизация запросов, распределённые базы данных и эксплуатация систем.
📌 Оставляю ссылочку: yandex.cloud
➡️ SQL Ready | #ресурс
17 670
📂 Как SQL-запрос выполняется внутри СУБД!
От отправки запроса до результата SQL проходит несколько этапов: парсинг, оптимизация, построение плана выполнения, доступ к данным, кэширование и управление транзакциями.
На схеме — архитектура обработки SQL-запроса и основные компоненты базы данных.
Сохрани, чтобы не потерять!
➡️ SQL Ready | #ресурс
17 670
👨💻 Мега информативная статья на Хабре: «Что мы находим при аудите PostgreSQL: 10 распространенных ошибок»!
В этой статье:
• Разбираются реальные проблемы, которые DBA чаще всего находят при проверке PostgreSQL в продакшене;
• Показывается, почему бэкапы могут оказаться бесполезными, а широкие права, открытый доступ и отсутствие логов создают серьезные риски;
• Разбираются настройки производительности, долгие транзакции, BLOAT, автовакуум и архитектурные ошибки, которые могут привести к сбоям.
🔊 Продолжайте читать на Habr!
➡️ SQL Ready | #статья17 670
Разбираем почему REINDEX не заменяет VACUUM в PostgreSQL!
После большого количества операций
UPDATE и DELETE в PostgreSQL часто используют команды VACUUM и REINDEX. Несмотря на то что обе относятся к обслуживанию базы данных, они решают разные задачи и не являются взаимозаменяемыми.
Создадим таблицу:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email TEXT
);
Добавим данные:
INSERT INTO users (email)
SELECT 'user' || g || '@mail.com'
FROM generate_series(1, 100000) AS g;
Удалим половину строк:
DELETE
FROM users
WHERE id <= 50000;
После выполнения DELETE строки не исчезают из файла таблицы сразу. PostgreSQL использует механизм MVCC, поэтому удалённые версии строк продолжают существовать до тех пор, пока они могут быть нужны активным транзакциям.
Для их обработки используется:
VACUUM users;
VACUUM обрабатывает мёртвые версии строк, освобождая занимаемое ими пространство для повторного использования внутри таблицы. Кроме того, он может очищать соответствующие мёртвые записи в индексах.
При этом обычный VACUUM обычно не уменьшает размер файла таблицы на диске — освободившееся место остаётся внутри таблицы и используется последующими операциями INSERT и UPDATE. Теперь перестроим индекс:
REINDEX INDEX users_pkey;
Или сразу все индексы таблицы:
REINDEX TABLE users;
REINDEX перестраивает индекс на основе актуальных данных таблицы. Эта команда применяется при значительном раздувании индексов, их повреждении, а также в ситуациях, когда анализ показывает, что перестроение может улучшить производительность.
При этом REINDEX не очищает таблицу от мёртвых версий строк и не заменяет выполнение VACUUM. Если же необходимо физически уменьшить размер таблицы и вернуть свободное место операционной системе, используется другая команда:
VACUUM FULL users;
VACUUM FULL полностью переписывает таблицу в новый компактный файл, освобождает место на диске, но требует блокировку уровня ACCESS EXCLUSIVE, поэтому на время выполнения таблица становится недоступной для чтения и записи.
Важно понимать, что в большинстве случаев регулярное обслуживание выполняет autovacuum. Ручной запуск VACUUM, VACUUM FULL или REINDEX обычно является следствием анализа конкретной проблемы, а не стандартной процедурой после большого количества изменений данных.
🔥 Главное отличие: VACUUM обслуживает таблицу и связанные с ней индексы, освобождая пространство, занятое мёртвыми версиями строк, для повторного использования. REINDEX занимается исключительно перестроением индексов. Эти команды решают разные задачи и используются в разных ситуациях.
➡️ SQL Ready | #практика17 670
🔴В 2025 году Россияне заработали 5,3 млрд рублей на арбитраже криптовалют
По данным Минфин 32% граждан покинули своё место работы, поскольку в среднем уже в первый месяц тут можно зарабатывать от 140 000 рублей, а через 2-3 месяца с легкостью выйти на семизначные числа.
Самое смешное, что лишь 8% россиян что-то слышали об этой профессии, хотя все инструкции бесплатно лежат на канале Арбитраж Криптовалют
Там объясняют, как имея телефон и доступ в интернет, заработать свои первые $2000. Причём разжёвывают так доступно, что поймёт даже ребенок. Кстати, на канале сегодня вышла новая рабочая связка!
Быстрее вступайте, пока это бесплатно — https://t.me/+U-f4ZwrEo-pmZGYy
