SQL Portal | Базы Данных
14.4K subscribers
610 photos
83 videos
41 files
505 links
Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных

Связь: @devmangx

РКН: https://clck.ru/3H4Wo3
Download Telegram
Ручное восстановление БД PostgreSQL после аппаратного сбоя

📖 Читать: ссылка

👉 @SQLPortal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥21🤔1
Что такое обобщённое табличное выражение (CTE) в SQL?

Обобщённое табличное выражение — это временный результат запроса, который можно использовать внутри SELECT, INSERT, UPDATE или DELETE. CTE определяются с помощью ключевого слова WITH и могут улучшать читаемость кода, упрощать сложные запросы и избегать дублирования кода

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍163🔥2
20 распространенных эквивалентов Excel-SQL

Таблица помогает пользователям, знакомым с Excel, быстрее освоить SQL, показывая аналогичные операции в обоих инструментах.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2
💡 Использование LATERAL JOIN в SQL

LATERAL JOIN позволяет подзапросу динамически ссылаться на значения из основной строки запроса. Это дает возможность выполнять подзапросы, которые зависят от данных каждой строки.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4
100 sql commands for sql portal_water.pdf
180 KB
Дорогие аналитики данных, ловите подгон. 100 команд SQL в действии.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥3
Что такое транзакции и зачем они нужны

Транзакции в SQL — это способ гарантировать целостность и консистентность данных при выполнении нескольких операций.

Они позволяют объединить несколько SQL-запросов в одну логическую единицу работы, которая либо выполняется полностью, либо не выполняется вообще. Это важно для предотвращения ошибок, например, когда одна операция успешна, а другая — нет.

Транзакции поддерживают свойства ACID:

🟡A (Atomicity) — атомарность: все операции транзакции выполняются целиком или не выполняются вообще.

🟡C (Consistency) — согласованность: транзакция переводит базу данных в согласованное состояние.

🟡I (Isolation) — изоляция: изменения одной транзакции не видны другим, пока она не завершена.

🟡D (Durability) — долговечность: изменения сохраняются, даже если происходит сбой.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥42
Please open Telegram to view this post
VIEW IN TELEGRAM
😁35🔥3👍2
Сжатие данных в PostgreSQL: как различные методы влияют на хранение TOAST

📖 Читать: ссылка

👉 @SQLPortal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥2
Знали ли вы, что есть репозиторий, где собрано всё, что нужно, чтобы прокачать SQL за рамками типичных задач с LeetCode?

Beyond LeetCode SQL — это глубокий разбор реальных кейсов, оптимизации запросов и продвинутых техник.

Стать слоном по SQL никогда ещё не было так просто 😍

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Вы можете сравнить две таблицы и найти строки, которые есть только в одной из них, с помощью следующего запроса:

SELECT * FROM (
SELECT 't1' t1, t1.* FROM t1
) t1
NATURAL FULL JOIN (
SELECT 't2' t2, t2.* FROM t2
) t2
WHERE t1 IS NULL OR t2 IS NULL;


Для того чтобы этот запрос работал, столбцы должны:

Иметь одинаковые имена в обеих таблицах
Не содержать NULL-значений

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥1
Анализ данных – это не просто цифры, а процесс поиска инсайтов, влияющих на бизнес-решения

Процесс работы аналитика


1. Спросить – в чем проблема?
2. Собрать – получить данные
3. Очистить – исправить и подготовить
4. Анализировать – искать инсайты
5. Действовать – представить результаты

Виды анализа

Descriptive (описательный) – что произошло?
Diagnostic (диагностический) – почему это произошло?
Predictive (предсказательный) – что произойдет дальше?
Prescriptive (предписывающий) – что делать?

Главные вопросы аналитика

— Какова цель анализа?
— Кто будет использовать инсайты?
— Надежны ли данные?
— Какие тренды и аномалии можно выявить?
— Какие решения повлияют на результат?

Как аналитики помогают командам?

Маркетинг – ROI, поведение клиентов
Продажи – воронки, эффективность
Операции – процессы, KPI
Менеджмент – стратегии, дашборды
Продукт – поведение пользователей, A/B-тесты

Популярные инструменты: SQL, Excel, Google Sheets, Looker, Power BI, Tableau, Python, R

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥42
Быстрый путь блокирования в PostgreSQL

📖 Читать: ссылка

👉 @SQLPortal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
800+ SQL Server Interview Questions and Answers .pdf
1 MB
Готовимся к собесу — 800+ вопросов по SQL + задачи

Хороший сборник для прокачки навыков и проверки себя ✌️

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥53
Совет по прокачке SQL (если ещё не в курсе):

1. Заходим на SQL-EX – это сайт с задачами по SQL.

3. Пишем запросы, тренируем JOIN, подзапросы, оконные функции и кайфуем от прогресса 😆

И да, всё на русском

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥54
This media is not supported in your browser
VIEW IN TELEGRAM
Наткнулся на интересный проект — Rainfrog

Это терминальное приложение для работы с PostgreSQL, которое можно описать как лёгкую, минималистичную альтернативу pgAdmin или DBeaver, но без GUI и перегруза.

Если привык работать в терминале и ценишь скорость — стоит попробовать

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥1
Больше индексов ≠ выше производительность

💡 Совет: не стоит индексировать всё подряд.

Почему?

➟ Каждый индекс добавляет издержки при изменении данных (вставка, обновление, удаление)
➟ Сосредоточьтесь на столбцах, которые часто используются в WHERE, JOIN, ORDER BY или GROUP BY.

Типы индексов в базе данных:

1. Кластерный индекс
🟡Физически переупорядочивает строки данных на основе ключа индекса.
🟡Только один на таблицу.
🟡Значительно ускоряет диапазонные запросы (например, «найти все заказы между датами X и Y») и запросы по индексируемым столбцам.
🟡Может замедлять модификации данных (вставки, обновления, удаления) из-за переупорядочивания.

2. Некластерный индекс
🟡Создаёт отдельную структуру с указателями на строки данных, отсортированными по ключу индекса.
🟡Может быть несколько на одну таблицу.
🟡Эффективен для точечных запросов (например, «найти клиента с ID 123»).
🟡Может использоваться как покрывающий индекс, если включает все нужные для запроса столбцы.

3. Уникальный индекс
🟡Гарантирует уникальность значений в столбце или комбинации столбцов.
🟡Может быть кластерным или некластерным.
🟡Предотвращает дублирование значений, обеспечивая целостность данных.
🟡Часто используется для альтернативных ключей (не основного ключа), которые должны быть уникальными.

4. Фильтрованный индекс
🟡Индексирует только подмножество строк, соответствующее фильтрующему условию.
🟡Повышает производительность запросов, которые часто используют указанный фильтр.
🟡Уменьшает размер индекса по сравнению с индексом на всю таблицу.

5. Полнотекстовый индекс
🟡Обеспечивает эффективный поиск по текстовым данным (например, документы, статьи) по ключевым словам и фразам.
🟡Использует специальные алгоритмы индексирования и поиска (например, инвертированные индексы).
🟡Поддерживает лингвистические функции, такие как стемминг и тезаурус.

6. Составной индекс
🟡Индекс, созданный на нескольких столбцах.
🟡Может быть кластерным или некластерным.
🟡Оптимизирует запросы, фильтрующие или сортирующие по нескольким столбцам.
🟡Порядок столбцов в определении индекса имеет решающее значение для производительности.

7. Покрывающий индекс
🟡Включает все столбцы, необходимые для запроса, прямо в индекс, исключая необходимость обращаться к основной таблице.
🟡Может быть некластерным.
🟡Существенно ускоряет запросы, которым нужны только данные из индексируемых столбцов.

8. Индекс с включёнными столбцами
🟡Похож на покрывающий индекс, но включает только неключевые столбцы.
🟡Некластерный.
🟡Может улучшить производительность, если дополнительные столбцы часто используются в запросах.

9. XML-индекс
🟡Индексирует XML-данные для эффективного запроса с использованием XPath или специфичных XML-функций.
🟡Доступен в СУБД, поддерживающих XML-тип данных.
🟡Позволяет выполнять запросы к конкретным элементам или атрибутам внутри XML-документов.

10. Частичный индекс
🟡Индексирует только те строки, которые соответствуют определённому условию.
🟡Похож на фильтрованный индекс, но предоставляет больше гибкости в определении фильтра.
🟡Повышает производительность при специфичных кейсах запросов.

11. Битовый индекс
🟡Эффективно индексирует столбцы с низкой кардинальностью (немного уникальных значений).
🟡Хранит битовые карты, указывающие, какие строки содержат конкретное значение.


👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3
Как превратить PostgreSQL в мощный поисковый движок?

📖 Читать: ссылка

👉 @SQLPortal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
О да, SQLZap — это прям находка

sqlzap.com — это онлайн-платформа для тренировок SQL-запросов в браузере. Что-то вроде интерактивного тренажёра

Идеально чтобы натаскать руку — как Leetcode, только для SQL

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1👀1
Учим SQL по мемам 🖕

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁256👍2