SQL и Анализ данных
12.7K subscribers
679 photos
67 videos
3 files
693 links
Базы данных и всё, что с ними связано!

Сотрудничество: @haarrp

РКН № 6766085482
Download Telegram
💻 Вред хранимых процедур

В статье разбираются ограничения и подводные камни при использовании хранимых процедур в PostgreSQL для реализации бизнес-логики.

Автор показывает, почему это может мешать масштабированию, усложнять поддержку и ограничивать применение современных подходов к разработке.

Читать статью

tags: #статья

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2🔥1🥱1💊1
This media is not supported in your browser
VIEW IN TELEGRAM
Тестировщик проверяет работоспособность кода

SQL Community | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25😁14👍7
Вопрос с собеседования

Можно ли объединять JOIN и подзапросы?

Ответ: Да, подзапросы и JOIN можно свободно комбинировать.

Подзапрос может использоваться:

▶️ в FROM как временная таблица (derived table),
▶️ в WHERE или ON для фильтрации,
▶️ или быть частью условия соединения в JOIN.

Это позволяет строить гибкие и сложные запросы, например, соединять таблицу с результатом агрегатной выборки или предварительно отфильтрованными данными.


tags: #собеседование

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍116🔥2
💻 PostgREST

PostgREST поднимает полноценный REST API прямо из вашей базы данных, без написания серверной части.

Вы описываете структуру, доступ и логику через SQL — а сервер сам превращает это в готовый и безопасный API.

📖 Ссылка на документацию
Ссылка на GitHub

tags: #полезное

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥106🤔4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁414
Вопрос с собеседования

Как работает репликация в PostgreSQL?

Ответ: PostgreSQL использует репликацию для копирования данных с основного сервера на реплики. Она бывает синхронной — запись подтверждается только после передачи на реплику, и асинхронной — данные на реплике могут немного отставать. Репликация основана на передаче WAL-журналов, которые реплика применяет, чтобы оставаться в актуальном состоянии.

tags: #собеседование

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥82
💻 PostgreSQL Antipatterns: создаем JSON из строки

В статье показано, как собирать JSON в PostgreSQL без лишних преобразований, чтобы ускорить выполнение запросов.

Объясняется, почему популярные конструкции вроде to_json(json_build_object(...)) могут мешать производительности и как заменить их более эффективными способами.

Читать статью

tags: #статья

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🔥1
Вопрос с собеседования

Чем функция отличается от хранимой процедуры?

Ответ: Функция всегда возвращает значение и используется прямо в запросах (SELECT, WHERE). Она не может изменять данные и не имеет выходных параметров.

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

Функции — для вычислений, процедуры — для сложной логики и операций с данными.


tags: #собеседование

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84👀3🔥2
💻 Регулярные выражения в SQL

В статье рассказывается, как использовать регулярные выражения в SQL для решения нестандартных задач обработки данных.

Автор показывает, как находить сложные шаблоны, валидировать электронные адреса, стандартизировать номера телефонов и анализировать логи с помощью REGEXP_LIKE и REGEXP_REPLACE.

Читать статью

tags: #статья

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥5👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
21😁16👍2🔥2
Вопрос с собеседования

Что такое batch в SQL?

Ответ: Batch в SQL — это способ отправить несколько запросов за один сетевой вызов к базе данных.

Вместо того чтобы отправлять каждый INSERT, UPDATE или DELETE по отдельности, их объединяют в пакет, чтобы уменьшить задержки и ускорить обработку больших объёмов данных.

Batch повышает производительность при массовых операциях, особенно в JDBC и ORM.


tags: #собеседование

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍104🔥3
💻 Как обновить PostgreSQL и не потерять данные?

В статье рассказывается, как обновить кластер PostgreSQL с версии 13 до 16 с минимальным простоем.

Автор подробно объясняет каждый шаг, включая создание реплики, настройку логической репликации и использование pg_upgrade.

Читать статью

tags: #статья

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2720👍3
Вопрос с собеседования

Как в PostgreSQL сравнить производительность двух индексов?

Ответ: Использовать EXPLAIN ANALYZE на одинаковых запросах и сравнить размер, план выполнения и время запроса.

tags: #собеседование

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥3👍1
💻 SQL SquidGame

SQL SquidGame — это интерактивный тренажёр, в котором освоение SQL превращается в серию испытаний в стиле «Игры в кальмара»: чтобы пройти дальше, нужно правильно написать SQL-запрос, иначе — выбываешь.

В игре нужно пройти 9 уровней, решая задачи по анализу данных, которые становятся сложнее с каждым этапом. Если не справляетесь, на сайте есть 33 урока по SQL, охватывающих все важные темы для практического применения.

Ссылка на игру

tags: #полезное

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍169🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁37🔥2
Вопрос с собеседования

Чем MariaDB отличается от MySQL?

Ответ: MariaDB — это форк (ответвление) MySQL, созданный после того, как MySQL купила компания Oracle.

MariaDB полностью совместима с MySQL на уровне запросов, но развивается отдельно: она добавляет больше новых функций быстрее (например, альтернативные движки хранения), а также остаётся полностью открытой.

Ещё MariaDB часто включает улучшения в производительности и масштабировании, которые в MySQL появляются позже или не появляются вообще.


tags: #собеседование

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍155😁2🔥1
💻 Чем отличается пессимистическая и оптимистическая блокировка в MySQL?

В статье разбирается, как в MySQL управлять одновременным доступом к данным с помощью пессимистических и оптимистических блокировок.

Автор показывает, как выбрать подходящий механизм для разных задач и избежать ошибок при параллельной работе с базой.

Читать статью

tags: #статья

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁36💯52🔥2
Вопрос с собеседования

Каковы плюсы и минусы реляционных баз данных?

Плюсы:

▶️ Чёткая и строгая структура данных (таблицы, типы, связи);

▶️ Поддержка мощного языка запросов SQL для сложных выборок и обработки данных;

▶️ Надёжность за счёт транзакций (ACID-свойства), ограничений целостности (FOREIGN KEY, UNIQUE, CHECK) и строгих правил.

Минусы:

▶️ Менее гибкие при изменениях схемы: добавление новых колонок, связей или нормализация требуют осторожных изменений структуры;

▶️ Горизонтальное масштабирование (шардинг) сложнее, чем у NoSQL-баз;

▶️ При сложных связях и большом объёме таблиц возможны накладные расходы на JOIN-операции и поддержку индексов.

tags: #собеседование

SQL Community | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥147👍1