SQL Portal | Базы Данных
前往频道在 Telegram
Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных Связь: @devmangx РКН: https://clck.ru/3H4Wo3
显示更多📈 Telegram 频道 SQL Portal | Базы Данных 的分析概览
频道 SQL Portal | Базы Данных (@sqlportal) 是活跃参与者。目前社区聚集了 13 734 名订阅者,在 技术与应用 类别中位列第 8 986,并在 俄罗斯 地区排名第 47 042 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 13 734 名订阅者。
根据 15 九月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -124,过去 24 小时变化为 -5,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 8.45%。内容发布后 24 小时内通常能获得 4.75% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 1 161 次浏览,首日通常累积 652 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 4。
- 主题关注点: 内容集中在 строка, sql, индекс, postgres, колонка 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных
Связь: @devmangx
РКН: https://clck.ru/3H4Wo3”
凭借高频更新(最新数据采集于 16 九月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
13 734
订阅者
-524 小时
-397 天
-12430 天
帖子存档
13 734
Главное правило SQL
GROUP BY, которое должен знать каждый
Если в SELECT используются неагрегированные столбцы, убедитесь, что они добавлены в GROUP BY. Это не просто хорошая практика — в некоторых базах данных это обязательное требование.
Почему это важно?
GROUP BY определяет, что представляет собой одна строка результата. База данных должна точно понимать, какое единственное значение поместить в каждую ячейку этой строки.
В запросе ниже одна строка = одна должность (job_title) внутри конкретного отдела (department). Поэтому и department, и job_title должны присутствовать в GROUP BY.
Если пропустить неагрегированный столбец:
• Некоторые СУБД вернут ошибку
• Другие могут вернуть произвольное значение
• Запрос может «работать» сегодня, но завтра вернуть некорректный результат
Общее правило
Каждый столбец в SELECT должен быть функционально зависим от GROUP BY. Если внутри одной группы столбец может содержать несколько значений, его нужно либо добавить в GROUP BY, либо использовать с агрегатной функцией.
👉 @SQLPortal13 734
SQL-вопрос: Будьте внимательны — здесь есть подвох.
Что вернёт этот запрос и почему?
👉 @SQLPortal
13 734
Загружать 100 000 строк, чтобы посчитать одну итоговую сумму, — странный способ защитить базу данных от лишней работы.
SQL и сам прекрасно умеет считать суммы.
👉 @SQLPortal
13 734
SQL-вопрос:
Какое из следующих утверждений верно относительно результата этого запроса?
👉 @SQLPortal
13 734
Сегодня узнал, что SQLite преобразует целые числа в текст сразу по две цифры.
Обычно преобразование числа в строку делают циклом с делением на 10 и взятием остатка от деления на 10.
SQLite избегает большей части этих операций: внутри хранится строка длиной 200 байт со всеми двузначными комбинациями от 00 до 99.
Затем SQLite просто берёт по две цифры за раз по нужному индексу, вместо того чтобы вычислять каждую цифру отдельно.
👉 @SQLPortal
13 734
Шпаргалка по системному дизайну для собеседований
Если ты хочешь уверенно пройти системное интервью в Google, Meta, Amazon или Netflix — тебе сюда
Автор собрал шпаргалку с ключевыми концептами, книгами и курсами для подготовки
⏩Архитектура масштабируемых систем
⏩Балансировка нагрузки, кэширование, очереди (Kafka, Redis)
⏩SQL vs NoSQL, шардирование, репликация
⏩REST vs gRPC, WebSockets, CDN
⏩CQRS, event-driven, микросервисы vs монолит
⏩Надёжность: circuit breaker, leader election (Raft, Paxos)
⏩Безопасность: OAuth, JWT, rate limiting
—> Полный гайд тут
👉 @SQLPortal
13 734
SQL Debugging: вопрос с собеседования
Этот запрос должен возвращать всех клиентов, а также их отправленные заказы, если они есть.
Что с ним не так? Сработает ли такой запрос? Если нет, как его исправить?
👉 @SQLPortal
13 734
Наткнулся на интересный кейс на Хабре — DBA с 15-летним опытом решил создать собственную систему мониторинга СУБД.
Так появился Lumen — инструмент для мониторинга SQL Server и PostgreSQL, вдохновлённый Spotlight for SQL Enterprise.
Он собирает данные о сессиях, блокировках, запросах, планах выполнения, памяти, дисках, бэкапах и репликации. Есть Playback для разбора прошлых инцидентов, 100 встроенных правил алертов и отдельный AI Operator на базе локальной LLM, который следит за состоянием серверов и помогает разбирать возникающие проблемы.
Выглядит как довольно интересный проект для DBA и тех, кто плотно работает с базами данных.
https://habr.com/ru/articles/1080080/
👉 @SQLPortal
13 734
Бесплатная книга по Deep Learning
Один из самых лучших учебников по глубокому обучению теперь доступен бесплатно в онлайн-формате. Внутри вас ожидает материал по нейронным сетям, компьютерному зрению, Keras, Transformers, генеративному ИИ.
Каждый раздел здесь сопровождается практическими примерами, а сам код можно запускать прямо в браузере через Google Colab.
👉 @SQLPortal
13 734
SQL number functions помогают очищать, вычислять и агрегировать числовые данные: округлять значения, задавать границы, находить остаток от деления, возводить числа в степень и сравнивать итоговые значения с помощью
AVG, SUM, MIN и MAX.
👉 @SQLPortal13 734
Как импортировать большой dump
mysql-dump.sql.gz размером более 10 ГБ?
gunzip < mysql-dump.sql.gz | mysql -u <user> -p <database>
Этот вариант работает медленно. Некоторые говорят, что подход на картинке быстрее. Так ли это?
Вопрос: как добавить SQL statements в начало и конец dump прямо во время выполнения импорта?
#MySQL #DBA Tips
👉 @SQLPortal13 734
БОЛЬШОЙ SQL-ГРЕХ
Использовать операторы
NOT IN или IN, когда в данных присутствует NULL.
В SQL оператор IN — это сокращённая запись нескольких условий OR, а сравнение value = NULL всегда возвращает UNKNOWN. Из-за этого запрос может вернуть неожиданный результат или вообще пустую выборку.
Если нужно учитывать NULL, обрабатывайте его явно. Добавьте условие IS NULL к IN или используйте другой подход, корректно учитывающий NULL.
Всегда тестируйте SQL-запросы с NULL, чтобы убедиться, что они работают так, как ожидается.
👉 @SQLPortal13 734
pg_cron — это расширение PostgreSQL, которое запускает задачи по расписанию прямо внутри базы, используя стандартный синтаксис cron. Если ты пишешь фоновые джобы, которые в основном сводятся к SQL-запросам, проще отдать это Postgres’у через pg_cron. Получается проще, стабильнее и без внешнего планировщика.
Настройка
В managed PostgreSQL (например, Crunchy Bridge и похожие провайдеры) pg_cron обычно уже доступен.
Если поднимаешь Postgres сам, ставишь пакет:
sudo apt install postgresql-18-cron
Дальше подключаешь расширение при старте сервера через postgresql.conf:
shared_preload_libraries = 'pg_cron'
cron.database_name = 'postgres'
shared_preload_libraries обязателен — без него расширение не загрузится.
Как работает
По умолчанию задачи выполняются в той базе, где создано расширение.
Можно явно указать другую базу через cron.schedule_in_database.
Задачи выполняются от имени роли, которая их создала. Значит, права на таблицы и команды берутся из этой роли.
Создание задач
Основная функция — cron.schedule. У неё несколько перегрузок, поведение зависит от количества аргументов.
Типичный вариант из трёх частей:
имя задачи
cron-расписание
SQL-команда
Пример:
SELECT cron.schedule(
'nightly_vacuum',
'0 3 * * *',
'VACUUM ANALYZE big_table'
);
Управление и мониторинг
Список задач лежит в cron.job.
Там есть:
имя
расписание
SQL
активна ли задача
История запусков — cron.job_run_details.
Там видно:
время старта
длительность
успех или ошибка
Повторов при ошибке нет. Задача просто логируется и ждёт следующего запуска.
Частые кейсы
чистка старых логов
nightly VACUUM для горячих таблиц
агрегация метрик по часам
перенос старых строк в архив
обновление materialized views
Реже используемые сценарии
Иногда pg_cron используют не только для базы:
батчинг запросов к внешним API (в связке с http)
ETL-процессы и выгрузка в data warehouse (например, через pg_lake)
прогрев кэша через pg_prewarm перед пиками нагрузки
👉 @SQLPortal13 734
Избегать SQL — значит избегать настоящего бэкенда.
API меняются.
Фреймворки уходят в историю.
Базы данных переживают миграции, переписывания и смену стека.
Большинство проблем с производительностью на бэкенде возникают не из-за медленного кода приложения.
Обычно виноваты:
* плохие запросы;
* отсутствующие индексы;
* неудачная схема БД;
* слабая модель данных;
* неправильные паттерны чтения и записи.
Отсутствующий индекс не лечится микросервисами.
Дублирование данных не исправляется кэшем.
Медленные отчёты не ускоряются переписыванием API.
Если ты не понимаешь ACID, уровни изоляции, блокировки, дедлоки, индексы, партиционирование и планы выполнения запросов, рано или поздно система начнёт разваливаться под нагрузкой.
SQL — это не опция.
Хорошее знание SQL делает тебя сильнее в проектировании систем, распределённых системах, производительности и надёжности.
Изучи SQL.
Всё остальное строится поверх него.
👉 @SQLPortal
