SQL Portal | Базы Данных
14K subscribers
1.15K photos
142 videos
51 files
812 links
Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных

Связь: @devmangx

РКН: https://clck.ru/3H4Wo3
Download Telegram
SQL помогает получить данные. Статистика — понять, что они означают

20 статистических понятий для работы с отчётами, метриками и аналитическими запросами.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥1
Быстрый SQL начинается с продуманных запросов

1. Выбирайте только нужные столбцы. Вместо SELECT * перечисляйте поля: это уменьшает объём передаваемых данных.

2. Создавайте подходящие индексы. Учитывайте столбцы, используемые в WHERE, JOIN и ORDER BY.

3. Избегайте функций над индексируемыми столбцами в условиях. Вместо YEAR(date) = 2024 используйте диапазон дат — он может позволить использовать обычный индекс.

4. Используйте EXISTS для проверки существования строк. Но не считайте его всегда быстрее IN: сравнивайте планы выполнения.

5. Ограничивайте выдачу через LIMIT или TOP. Это сокращает результат, но не обязательно объём работы базы данных.

6. Сравнивайте JOIN и подзапросы. Выбирайте вариант с нужной семантикой и лучшим планом: объединение не всегда быстрее и может размножать строки.

7. Отсекайте ненужные строки через WHERE. Чем меньше данных обрабатывается дальше, тем лучше; фактический порядок операций определяет оптимизатор.

8. Не используйте DISTINCT без необходимости. Удаление дубликатов требует ресурсов. Проверьте, не возникают ли они из-за ошибочного объединения.

9. Выбирайте UNION ALL, если удалять дубликаты не нужно. В отличие от UNION, он сохраняет все строки и не тратит ресурсы на устранение повторов.

10. Анализируйте планы выполнения. Используйте EXPLAIN и, где доступно, EXPLAIN ANALYZE, чтобы находить узкие места. Помните: EXPLAIN ANALYZE действительно выполняет запрос.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Числовые функции SQL: от округления до итогов 🔢

Они помогают обрабатывать числа и выполнять вычисления:

• ROUND — округлить до нужного количества знаков.
• CEIL / CEILING и FLOOR — округлить вверх или вниз до целого.
• ABS — получить модуль числа.
• MOD или % — найти остаток от деления.
• POWER — возвести число в степень.

Агрегатные функции обобщают данные: AVG вычисляет среднее, SUM — сумму, MIN и MAX — минимальное и максимальное значения. Названия и синтаксис отдельных функций зависят от СУБД.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Дубликаты в SQL: способ зависит от задачи

• DISTINCT убирает повторяющиеся сочетания выбранных столбцов из результата запроса.
• GROUP BY объединяет строки в группы и позволяет посчитать повторы через COUNT(*).
• ROW_NUMBER() нумерует строки внутри группы, чтобы выбрать, какую запись оставить.

Убрать повторы из выдачи и удалить записи из таблицы — разные задачи. Перед DELETE проверьте выборку удаляемых строк и сделайте резервную копию.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Git пригодится и тем, кто пишет SQL

Храните запросы, миграции и схемы БД в репозитории: так проще отслеживать изменения, возвращаться к предыдущим версиям и обсуждать правки с командой.

В шпаргалке — базовые команды: создание репозитория, коммиты, ветки, слияние, stash и работа с удалённым репозиторием. Сохраните для работы над SQL-проектами.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2
SQL проще изучать, если разделить его по задачам

• Определять структуру таблиц: CREATE, ALTER, DROP.
• Получать данные: SELECT, WHERE, ORDER BY.
• Добавлять, изменять и удалять записи: INSERT, UPDATE, DELETE.
• Управлять доступом: GRANT, REVOKE.
• Управлять транзакциями: BEGIN, COMMIT, ROLLBACK.
• Объединять таблицы: JOIN.

Считать итоги: GROUP BY, COUNT, SUM, AVG, MIN, MAX.
Начните с конкретной задачи — так проще понять, какие конструкции нужны и как они работают вместе.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Практические уроки для Backend, Data Engineering и DevOps

Площадка с пошаговыми туториалами и облачными окружениями. Изучаем теорию и сразу выполняем команды без настройки локальной среды. В каталоге PostgreSQL, Redis, Docker, Kubernetes, Airflow, Spark и ClickHouse.

https://prepare.sh/

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
💬👨‍💻🐍💩🤖🤖🐧👩‍💻🧑‍💻👋🦀

Дождались! Ребята сделали
крутейший канал про IT новой эпохи

Нейросети, ИИ-агенты, вайбкодинг, вайбхакинг и новые инструменты уже меняют привычный мир технологий.

Там разбирают эти изменения и другие интересные IT-темы на простых картинках и понятном языке, а еще делятся полезными ресурсами и свежими новостями

Подписывайтесь: @IT_Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Масштабирование базы данных: 6 подходов, которые стоит знать

Рост данных и трафика требует разных решений. Прежде чем масштабировать базу, определите, что ограничивает производительность: CPU, память, диски, запросы или количество соединений.

• Вертикальное масштабирование — добавить серверу CPU, RAM и более быстрые диски.
• Реплики для чтения — распределить запросы на чтение между копиями базы, учитывая задержку репликации.
• Шардинг — распределить данные между несколькими узлами.
• Партиционирование — разделить большую таблицу на части, чтобы упростить обслуживание и ускорить подходящие запросы.
• Кэширование — сократить повторные обращения к базе.
• Пул соединений — переиспользовать подключения и ограничивать их количество.

У каждого подхода свои ограничения и цена сложности. Выбирайте по измерениям и характеру нагрузки. Сохраните шпаргалку для работы и подготовки к собеседованию по System Design.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1