💡 Универсальная шпаргалка по SQL 📲 Мы в MAX #db 👉 @database_info
Базы данных (Data Base)
Базы данных (Data Base). По всем вопросам @evgenycarter
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
19 из 19🚨 Антипаттерн: Почему OFFSET убивает твою базу (и как делать пагинацию правильно) Привет! Если вы когда-нибудь реализовывали каталог товаров или ленту новостей, то наверняка писали запрос с LIMIT и OFFSET. Для небольших таблиц это работает отлично, но как только проект взлетает и данных становится много, база начинает задыхаться. Давайте разберем, почему так происходит и как это лечить. ❌ Как мы делаем обычно: SELECT id, title, created_at FROM articles ORDER BY created_at DESC LIMIT 50 OFFSET 1...
Как оптимизировать Redis для высоких нагрузок? Selectel приглашает на практический вебинар, где разберут целостный инженерный подход к оптимизации Redis под high-load — от памяти и клиентских запросов до мониторинга и нагрузочного тестирования. Покажут, как настройки и паттерны использования Redis влияют на вытеснение ключей, p95/p99 задержки и стабильность системы. 📅 26 марта, 12:00 📍 Онлайн 👥 Для инженеров DevOps и DBA, бэкенд-разработчиков, системных администраторов и архитекторов 👉Смотри...
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиоте...
🔥 Индексы в PostgreSQL: когда они реально помогают, а когда мешают Многие ставят индексы “на всё подряд”, а потом удивляются, почему БД тормозит. ❌ Типичные ошибки: - Индекс на колонке, которая почти всегда уникальна (например, id с PK — он уже индексирован). - Индекс на поле с низкой селективностью (is_active = true/false) — толку ноль, только замедляет вставки. - Создание 5+ индексов на таблицу без анализа запросов. ✅ Best practices: - Делайте индекс под конкретный частый запрос. - Для WHERE ...
🔥 Неправильные типы данных в БД — тихий убийца производительности Одна из самых частых ошибок — выбирать тип “на всякий случай побольше”. ❌ Примеры антипаттернов: - VARCHAR(255) для всего подряд, даже если поле — код из 10 символов. - TEXT для email-адресов. - BIGINT для счётчика, где максимум 1000 записей. - FLOAT для денег (теряешь точность). ✅ Как лучше: - Размер строки под задачу: VARCHAR(50) для email, CHAR(2) для кода страны. - Для денег → NUMERIC(10,2) или DECIMAL. - Для булевых значений...
Антипаттерн: N+1 запросов — как заметить и починить Вы берёте список сущностей, а потом в цикле для каждой тянете связанные данные. В итоге - 1 запрос за «родителями» + N запросов за «детьми». Латентность растёт линейно от размера выборки. Симптомы - В логах много одинаковых коротких запросов. - Кол-во запросов ≈ размеру списка. - Страница/endpoint сильно «замедляется» при росте данных. Плохой пример (SQL + псевдокод) -- Берём пользователей SELECT id, name FROM users WHERE active = true; -- Пото...
7 SQL-запросов, которые решают 90% всех задач на работе Каждый день одно и то же. Открываешь клиент базы данных, чтобы что-то проверить, посчитать или найти. И снова пишешь почти тот же SELECT, что и вчера, с тем же WHERE и JOIN. Знакомо? SQL в большинстве случаях не требует сложные 100-строчные запросы с вложенными подзапросами на три уровня глубины. Чаще всего нам нужны простые, отточенные и, главное, эффективные конструкции. В этой статье я собрал 7 таких запросов-«рабочих лошадок». Это не ка...
Многопользовательская игра, похожая на DOOM, написанная на чистом SQL DOOMQL - это экспериментальный проект, который позволяет играть в DOOM, используя SQL-запросы. Идея проста: управление игрой происходит не через клавиатуру или мышь, а через выполнение SQL-команд, которые интерпретируются как действия внутри движка. 🔹 Например, можно отправить INSERT или UPDATE запрос, чтобы двигаться, стрелять или поворачивать персонажа. 🔹 Вся логика игрового процесса завязана на базу данных, превращая DOOM...
⚔️ SQL vs NoSQL: Что выбрать для вашего проекта? Выбор базы данных - одно из ключевых архитектурных решений. Нет универсальной "серебряной пули", есть инструменты под разные задачи. Давайте разберем основные отличия и когда что использовать. 🐘 SQL (Реляционные БД): Порядок и Транзакции Примеры: PostgreSQL, MySQL, MS SQL, Oracle. Основа: жесткая схема данных, таблицы, строки, отношения, поддержка ACID транзакций (атомарность, согласованность, изолированность, долговечность). -- SQL Пример: JOIN ...