Oracle Developer👨🏻‍💻
3.2K subscribers
604 photos
66 videos
2 files
480 links
🔝 канал о разработке в СУБД Oracle:
SQL, PL/SQL, оптимизация, архитектура и многое другое...

Backend-pro.ru - обучение по различным программам, связанных с backend-разработкой для ФЛ и ЮЛ.

Отец-основатель: @denis_dbd Кивилёв Денис
Download Telegram
Друзья, всем привет! 👋🏻

В эту субботу мы не просто отметили День космонавтики — мы сами запустились на орбиту 💥🚀
И нет, не на МКС, а с тест-группой нашего мини-курса по оптимизации Oracle SQL 👩‍💻

Запуск был чёткий, без турбулентности, и уже в первый день мы получили обратную связь от бывалых пилотов SQL-галактики:

Курс очень понравился, все было понятно и систематизировано. Я усвоил важные моменты, которые недопонимал все это время. Уже посмотрел некоторые запросы, которые тормозили у нас на проде, и понял, в каком направлении дальше буду копать! Большое спасибо за этот курс!


Все просто, никакой писанины, воды и умных слов.
Только практические советы:

🔶 как при чтении execution plan быстро понять, где просадка
🔶 как за пару минут найти тормозной запрос 🐢
🔶 когда Table Access Full — это плохо, а когда нет ⚖️
🔶 какие соединения перегружают систему, а какие идут как по маслу 🏃‍➡️

📅 Друзья, уже в эту субботу, 19 апреля, мы откроем курс для всех желающих 🔥

Те из вас, кто дойдет до финишной прямой, дополнительно получат:

первую и вторую лекции с полного курса "Оптимизация Oracle SQL"
видео реального собеса на 440К в MagnitTech 🔥
конспект по мини-курсу 📝
разбор огромных execution plan'ов 🔍
скидку на основной курс 🎁
и, конечно, сертификат участника! 🏅

Следите за новостями, будет интересно 👇🏻

#oracle #backendpro #кивилев #Denis_Kivillev #оптимизация #sql

Канал Oracle Developer | Чатик 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
Что быстрее: IN или EXISTS?

Друзья, всем привет! 👋🏻

Сегодня понедельник, самое время немного взбодриться после длинных выходных ☕️
И для разогрева предлагаем вопрос, который любят задавать на технических собесах: что же лучше — IN или EXISTS? 🤔

Итак, перед вами два запроса. Вроде бы делают одно и то же… но есть нюанс👇

-- Not Exists
SELECT /*+ FULL(d) */
d.department_name
FROM hr.departments d
WHERE NOT EXISTS (
SELECT 1
FROM hr.employees e
WHERE e.department_id = d.department_id);

-- Not IN
SELECT /*+ FULL(d) */
d.department_name
FROM hr.departments d
WHERE d.department_id NOT IN (
SELECT e.department_id
FROM hr.employees e);


🔍 На первый взгляд — разницы нет.
Но если присмотреться… 😏

💬 Напишите в комментариях к посту, в чём подвох.

И если вдруг вы не до конца понимаете, в чём отличие между IN и EXISTS, добро пожаловать на наш мини-эфир в четверг 🎙

Разберём по пунктам:

🔶 Сходства и отличия IN и EXISTS 🔄
🔶 Как работают SEMI JOIN и ANTI JOIN под капотом ⚙️
🔶 Какие вопросы по этой теме любят на собеседованиях 🧠
🔶 Примеры из практики 📌

📩 Ссылку на Zoom пришлём утром в четверг — следите за новостями в канале, чтобы не пропустить!

#задача #sql #оптимизация #анонс #вебинар #собеседование #oracle #Pavel_Dolganov

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
Что быстрее: IN или EXISTS? 🤔

Друзья, всем привет! 👋🏻

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

Многие сходу ответили, что NOT IN не вернет данных, если подзапрос содержит Null-значения.
И это правильный ответ

Никакой магии тут на самом деле нет.
Условие id IN (1,2,null) можно развернуть как:
id = 1 OR id = 2 OR id = null
А id NOT IN (1,2,null) — как:
id != 1 AND id != 2 AND id != null

⛔️ Условие id != null никогда не выполнится, поэтому такой запрос ничего не возвращает.

📌 К слову, такой вопрос часто задают на технических собеседованиях.

Если хочется копнуть в сторону IN и EXISTS чуть глубже — ждем вас сегодня в 19:00 МСК на обещанный вебинар 🎓

Что разберем на вебинаре?

🔶 Сходства и отличия IN и EXISTS 🔄
🔶 Как работают SEMI JOIN и ANTI JOIN под капотом ⚙️
🔶 Какие вопросы по этой теме любят на собеседованиях 🧠
🔶 Примеры из практики 📌

Будет возможность задать вопросы и разобрать свои кейсы.

Кому будет полезно?
🔸 Начинающим разработчикам – чтобы не наступать на типичные грабли.
🔸 Мидлам – чтобы писать более эффективный код.
🔸 Всем, кто хочет хорошо проходить собеседования.

🎤 Ведущий — Павел Долганов

🔥 Подключайтесь, будет много полезного. До встречи на вебинаре! 🌐

➡️ Ссылка на ZOOM ⬅️

⚠️ Возможность подключиться ограничена: максимум 100 участников. Успевайте!

⚠️ Записи не будет!

#задача #sql #оптимизация #анонс #вебинар #собеседование #oracle #Pavel_Dolganov

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠 SQL-загадка с подвохом

Друзья, всем привет! 👋

Понедельник — отличный день, чтобы разогреть мозги небольшим техническим кейсом 💡
Сегодня короткий, но полезный пост — с ответом сразу.

📌 Дано:

create table demo_table (
ID char(4 CHAR),
value VARCHAR2(64 CHAR)
);


Известно, что есть следующие индексы и ключи:

create index DEMO_TBL_VALUE_IX on demo_table (VALUE);

alter table DEMO_TABLE
add constraint DEMO_TBL_PK primary key (ID)
using index;


Вопрос (c подвохом)
почему такая вставка проходит:

insert into demo_table values('0001', 1000);


А эта падает с ошибкой ORA-01722: неверное число:

insert into demo_table values('0002', 'Test');


Ответ
при наличии следующего индекса

create index DEMO_TBL_NUM_IX on demo_table(trunc(VALUE));

Такая конструкция называется индексом по функции (function based index).
В реальных проектах она используется довольно часто, например, когда на строковое поле мы создаем индекс UPPER(<column>).
Особенность такого индекса в том, что в листьях он хранит результат выполнения этой функции для каждого rowid.
Поэтому никакой магии тут нет: если мы не можем записать в индекс результат функции, то и вставку выполнить мы не можем.


В нашем случае, функция trunc пытается примениться к значению value. В первой строке - 1000 (все ок), во второй - 'Test' (ошибка).


Ставьте лайк, если было познавательно.
🔔 Если хотите узнать больше про индексы, следите за каналом — завтра будет важное объявление.

Всем хорошей и продуктивной рабочей недели! 🔥

#oracle #sql #оптимизация #задачка #Pavel_Dolganov

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
6-й поток курса «Оптимизация Oracle SQL» стартует в июле! 🚀

Друзья, всем привет! 👋
На связи Денис, и сегодня я хочу рассказать, как один курс может ускорить не только запросы, но и вашу карьеру 🚀

Многие из вас спрашивают:
💭 «Денис, а реально ли курс поможет? Просто я уже третий месяц гуглю, как оптимизировать запрос, и всё равно ничего не понимаю».

Ответ - да, реально! Доказательства вот, вот и вот, а также множество других отзывов.

Для чего люди приходят на курс по оптимизации

🔸 Они давно хотят пробить зарплатный потолок, но их текущих знаний оптимизации SQL откровенно недостаточно 🤷
🔸 Когда они получают офферы от HR-ов, то паникуют в ожидании технической части собеседования 😱
🔸 Они хотят проектировать эффективные решения вместо того, чтобы работать в режиме "туши пожары" 🧯

Курс по оптимизации помогает перейти от уровня "я умею в CTE и CONNECT BY PRIOR" к уровню "план выполнения запроса - мой лучший друг" 💪

📊 Что происходит на рынке прямо сейчас?

Рынку критически не хватает людей, которые умеют:
читать план запроса
ликвидировать узкие места в плане
говорить на языке бизнеса

Мы каждый день созваниваемся с кандидатами на 6-й поток и чаще всего встречаем два типа разработчиков:

1️⃣ Те, кто соглашается на оффер в 200К, потому что вакансии за 300+ им не светят - они не могут пройти собес по оптимизации.

2️⃣ Те, кто знает, как читать AWR-репорты, но не умеет себя преподнести на техническом интервью - нет системы в голове.

В обоих случаях тебе к нам на курс 👉

🛠 Что вы там получите?

Практика, практика и ещё раз практика
Без теоретических лекций про ACID, которые можно найти в Википедии. Только живые кейсы, где нужно думать головой и работать руками.

Подготовка к собеседованиям
Вы будете готовы ответить на любой вопрос про план выполнения, хинты, execution stats и даже объяснить бизнесу, почему оптимизация важна 💬

Закрытый чат выпускников
Где делятся фишками, полезными скриптами и иногда вакансиями. Ну и шутят про deadlock-и на ночь глядя 😂

📌 Как устроен 6-й поток?

🗓 Старт: начало июля
👥 Формат: мини-группа до 10 человек
🎓 Обучение: 12 недель, живые разборы, домашки, мок-собеседования
💬 Чат: доступ ко всем встречам, обмен опытом, советы и поддержка

🌟 Кому точно стоит идти

🔶 Разработчикам, которые устали “оптимизировать” на глаз
🔶 Аналитикам, у которых отчёты работают дольше, чем остывает утренний кофе ☕️
🔶 DBA, которые хотят спать, а не искать bottleneck в 3 часа ночи

🔥 Внимание!
Вероятно, это последний поток в этом году. Следующий набор - в 2026 году.
Не откладывайте на потом - места ограничены!

👉 Ссылка на анкету предзаписи тут 👈

P.S. После курса вы не просто начнёте писать эффективный код - вы сможете закрывать проблемы бизнеса. А это самое важное. Сможете наконец-то получить тот самый оффер, о котором раньше только мечтали 💼

Думаете я шучу? Позиции Middle/Senior не проходят без вопросов или задач по оптимизации. Если вы её не знаете, как собес пройдете? Отвечу - никак 😊


Всем добра ❤️

#SQL #Oracle #Оптимизация #Собеседование #BackendPRO #Denis_Kivilev

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
Анонс марафона по Оптимизации Oracle SQL

Друзья, всем привет! 👋

Жаркое лето ☀️ - самое время прокачать навыки, которые конвертируются в предложения от топ-компаний. Поэтому 24–26 июня запускаю мини-марафон по оптимизации Oracle SQL - три вечера концентрированной практики, реальных технических и soft-вопросов с собесов. Набор открою уже на следующей неделе, подробности ниже

Кстати, предыдущий марафон по оптимизации очень зашел ребятам 🔥

Что вас ждет в этот раз?

1️⃣ День 1. ТОП-вопросы по оптимизации (24 июня)
Ведущий: Денис Кивилев
▫️Зачем вообще нужна оптимизация? Можно ли без нее обойтись?
▫️Проведем групповое техническое mock-собеседование на знания оптимизации.
▫️Разберем тест из ТОП-вопросов на собеседованиях.
▫️Домашнее задание: «Как читать последовательность выполнения операций в плане».

2️⃣ День 2. Чтение планов запросов (25 июня)
Ведущий: Денис Кивилев
▫️Расскажу, как правильно читать последовательность выполнения операций в планах запросов.
▫️Разберем задание с собеседования в «Спортмастере» - восстановление текста запроса по его плану. Это то, что вы можете встретить на реальном собесе.
▫️Разбор ДЗ: «Как читать последовательность выполнения операций в плане».
▫️Домашнее задание по soft-части - то, что вы 100% встретите на собесе.

3️⃣ День 3. Как успешно проходить soft-часть интервью (26 июня)
Ведущая: Любовь Прохорова
▫️Как правильно проходить soft-часть интервью и насколько это важно.
▫️Часто задаваемые вопросы и как на них правильно отвечать.
▫️Разбор домашнего задания по soft-части.
▫️Информация про курс «Оптимизация Oracle SQL».
▫️Розыгрыш призов для участников марафона.
Призы нынче очень вкусные 🔥

Почему стоит присоединиться 👈

1️⃣ Прокачаешься - наконец-то разберешься, как читать последовательность выполнения операций в плане запроса.
2️⃣ Будешь готов к собеседованиям: только реальные вопросы с собесов, видео-прохождения, как успешно проходить soft-часть.
3️⃣ Формат «вечер + запись». Не успел в лайве — смотри до конца июня, вопросы задаем в закрытом ТГ-чате.
4️⃣ Узнаешь, что мы даем на курсе по оптимизации и как это поможет бустануть твою карьеру 🚀

🎁 Куча подарков и бонусов! 🎁

Полезной информации - 98%, реклама курса - 2%.

Как попасть 🔥
🔸Набор открою на следующей неделе.
🔸Количество слотов ограничу (чтобы прожарка резюме была не по верхам).
🔸Стоимость и детали пришлю вместе с формой.

Лайфхак: поставь себе напоминалку на 17.06 в 11:00 МСК — «анкета на марафон», чтобы не упустить первый пост с ссылкой.

ИТОГИ. 24–26 июня - марафон «Оптимизация Oracle
SQL»
День 1. ТОП-вопросы по оптимизации
День 2. Чтение планов запросов
День 3. Soft-часть интервью + розыгрыш призов

Анкета откроется на следующей неделе.
Бери слот, готовь вопросы и врывайся в топ-0,5 % специалистов, которые не боятся ни рынка, ни собеседований 🚀

Увидимся на эфире! 😉 Всем добра ❤️

#oracle #sql #марафон #карьера #собеседование #оптимизация

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
Media is too big
VIEW IN TELEGRAM
Что говорят ваши коллеги

Друзья, всем привет! 👋

Позавчера мы делали анонс нового марафона по оптимизации SQL, после чего в личку поступило много вопросов:
🔸 Есть ли свежие отзывы от студентов
🔸 Что даёт обучение, стоит ли идти

Поэтому мы решили поделиться с вами видеоотзывами участников последнего 5го потока.
На этом видео ребята честно рассказывают:
С какими задачами пришли на курс
Каких результатов достигли за период обучения
Почему это время стало для них особенным ❤️

Прикольно видеть, как всего за 3,5 месяца у наших учеников меняются навыки, растёт уверенность в себе и открываются новые карьерные возможности. В конце видео мы ещё раз подробно объясняем, какие перспективы даёт участие в школе Backend-PRO - шанс стать куратором для наших следующих студентов.

Если вы всё ещё сомневаетесь - смотрите видео, вдохновляйтесь реальными историями!
Если вопросов не осталось - скорее записывайтесь на марафон: будет жарко, полезно и по-настоящему круто! 🤟🔥

Приятного просмотра 🍿

#oracle #sql #марафон #карьера #отзывы #оптимизация #Pavel_Dolganov

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀