Media is too big
VIEW IN TELEGRAM
Создание таблицы для "ВетКлиники". Мое решение
Коллеги, всем привет!
Я думаю, пора заканчивать интригу с заданием с собеса.
В видео моё решение. По сути:
1️⃣ Для гибкого хранения свойств объекта применяем EAV. Я про это уже писал пост. У этого решения есть свои плюсы и минусы.
Конкретно для нашего случая:
🔸 Есть справочник свойств питомца - длина, ширина, есть/нет когти и т.п.
🔸 Табличка отношения конкретного животного, его свойств и значения.
2️⃣ Для контроля за тем, какие свойства есть у животного используем таблицу с правилами, в которой описываются свойств животного относительно вида животного.
Эти правила проверяются при вставке/изменения свойств животного. Проверка происходит в API по работе с сущностями (я топлю за этот вариант) или в триггерах.
Этот пример, на самом деле, 1 в 1, похож на наш процессинг, который студенты пишут в курсе "Мастер Oracle PL/SQL". Там тоже сплошь и рядом применяется EAV (клиент и его свойства, платеж - детали платежа и т.п.).
—
В целом, ребята в чатике накидали плюс/минус тоже самое.
Никакого особенного конкурса не было, но считаю, что коллеги заслуживают, как минимум, вашего 👍🏻 на посте 😉
🎁 Автор сообщения с максимальным количеством реакций получит 1K руб в пятницу на 🍼 или 🍺
Решение 1, решение 2, решение 3, решение 4, решение 5
—
Подводя итог этой части тех собеса.
Дальше девушка начала меня спрашивать по разным тонкостям от констрейнтов до поиска/индексов и т.п.
Т.е. буквально на объектах ветклиники, которые мы создали, разбирается пласт теории.
Было прям неожиданно и интересно 🔥
Я лично считаю, и говорил об этом на эфире, что на собесе практические задания могут очень быстро показать есть ли опыт у человека, может ли справиться с банальными вещами.
Конечно, без перебора. Не надо давать спроектировать ядерный реактор в РСУБД 😄😄
А вы как считаете? Обсудить в чате 💬
В видео я выложил только архитектурную часть, но есть еще +1 час (!) вопросов по этой структуре.
Если пост наберет 100 🔥 - залью на видеохостинг полностью всё 😉
#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
Коллеги, всем привет!
Я думаю, пора заканчивать интригу с заданием с собеса.
В видео моё решение. По сути:
1️⃣ Для гибкого хранения свойств объекта применяем EAV. Я про это уже писал пост. У этого решения есть свои плюсы и минусы.
Конкретно для нашего случая:
🔸 Есть справочник свойств питомца - длина, ширина, есть/нет когти и т.п.
🔸 Табличка отношения конкретного животного, его свойств и значения.
2️⃣ Для контроля за тем, какие свойства есть у животного используем таблицу с правилами, в которой описываются свойств животного относительно вида животного.
Эти правила проверяются при вставке/изменения свойств животного. Проверка происходит в API по работе с сущностями (я топлю за этот вариант) или в триггерах.
Этот пример, на самом деле, 1 в 1, похож на наш процессинг, который студенты пишут в курсе "Мастер Oracle PL/SQL". Там тоже сплошь и рядом применяется EAV (клиент и его свойства, платеж - детали платежа и т.п.).
—
В целом, ребята в чатике накидали плюс/минус тоже самое.
Никакого особенного конкурса не было, но считаю, что коллеги заслуживают, как минимум, вашего 👍🏻 на посте 😉
🎁 Автор сообщения с максимальным количеством реакций получит 1K руб в пятницу на 🍼 или 🍺
Решение 1, решение 2, решение 3, решение 4, решение 5
—
Подводя итог этой части тех собеса.
Дальше девушка начала меня спрашивать по разным тонкостям от констрейнтов до поиска/индексов и т.п.
Т.е. буквально на объектах ветклиники, которые мы создали, разбирается пласт теории.
Было прям неожиданно и интересно 🔥
Я лично считаю, и говорил об этом на эфире, что на собесе практические задания могут очень быстро показать есть ли опыт у человека, может ли справиться с банальными вещами.
Конечно, без перебора. Не надо давать спроектировать ядерный реактор в РСУБД 😄😄
А вы как считаете? Обсудить в чате 💬
В видео я выложил только архитектурную часть, но есть еще +1 час (!) вопросов по этой структуре.
Если пост наберет 100 🔥 - залью на видеохостинг полностью всё 😉
#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
Друзья, всем привет!
Я на месте и готов радовать вас годнотой 😄
Обещанное видео с технического собеса в страховую компанию "Ренессанс Жизнь".
🔸Youtube
🔸Rutube
На мой взгляд, один из лучших интервьюверов, с кем мне удалось пообщаться. К сожалению, по деньгам СК не сильно расщедрилась. На позицию Senior всего 320К чистыми. На текущем рынке, есть предложения по 370-400К. В общем, у всех свои финансовые возможности💵
Темы с собеса
🔸Архитектурная задача: ветеринарная клиника,
🔸Вопросы про Primary Key и Unique (UK)
🔸Вопросы про Foreign Key
🔸Вопросы про индексы
🔸Вопросы про триггеры
🔸Ошибка мутирующей таблицы
🔸Виды коллекций, ограничения
🔸Pipelined-функции
🔸Планы запросов и оптимизация
🔸Операции Range Scan и Skip Scan
🔸Cardinality, cost и статистика
🔸Блокировки
🔸Что такое Deadlock🔸
Приятного просмотра 🎥
Обсудить в чате 💬
#карьера #собеседование #видео
Канал Oracle Developer | Чатик💬
Я на месте и готов радовать вас годнотой 😄
Обещанное видео с технического собеса в страховую компанию "Ренессанс Жизнь".
🔸Youtube
🔸Rutube
На мой взгляд, один из лучших интервьюверов, с кем мне удалось пообщаться. К сожалению, по деньгам СК не сильно расщедрилась. На позицию Senior всего 320К чистыми. На текущем рынке, есть предложения по 370-400К. В общем, у всех свои финансовые возможности
Темы с собеса
🔸Архитектурная задача: ветеринарная клиника,
🔸Вопросы про Primary Key и Unique (UK)
🔸Вопросы про Foreign Key
🔸Вопросы про индексы
🔸Вопросы про триггеры
🔸Ошибка мутирующей таблицы
🔸Виды коллекций, ограничения
🔸Pipelined-функции
🔸Планы запросов и оптимизация
🔸Операции Range Scan и Skip Scan
🔸Cardinality, cost и статистика
🔸Блокировки
🔸Что такое Deadlock🔸
Приятного просмотра 🎥
Обсудить в чате 💬
#карьера #собеседование #видео
Канал Oracle Developer | Чатик💬
Please open Telegram to view this post
VIEW IN TELEGRAM
🌐 Навигация по темам канала Oracle Developer
📘 Основы
#sql #plsql #теория #архитектура
#функции #секционирование #временныетаблицы
#транзакции #исключения #курсоры
#аналитическиефункции #иерархическиезапросы
#системныепредставления #компиляция #представления #коллекции #циклы
🛠 Практика и задачи
#задача #решениезадачи #asktom
🚀 Оптимизация и производительность
#оптимизация #nestedloops #индекс
🧩 Инструменты и технологии
#тестирование #postgresql #oracle #docker #oracle23c #ide #ai
💼 Карьера и Развитие
#карьера #собеседование #hr #тинькофф #magnit #вкусноиточка #leroymerlin #сбер #яндекс #Эффективность #КарьерныйРост #Denis_Kivillev #Работа
🎓 Дополнительные материалы
#видео #подкаст #аудиоподкаст #конкурс #марафон #юмор
—
В почти 700 (!) постах не мудрено заплутать. Поэтому решил сделать подобие навигации 😉
Не забывайте пользоваться обычным поиском, я не добавил сюда низкочастотные хештеги.
Канал Oracle Developer | Чатик💬
📘 Основы
#sql #plsql #теория #архитектура
#функции #секционирование #временныетаблицы
#транзакции #исключения #курсоры
#аналитическиефункции #иерархическиезапросы
#системныепредставления #компиляция #представления #коллекции #циклы
🛠 Практика и задачи
#задача #решениезадачи #asktom
🚀 Оптимизация и производительность
#оптимизация #nestedloops #индекс
🧩 Инструменты и технологии
#тестирование #postgresql #oracle #docker #oracle23c #ide #ai
💼 Карьера и Развитие
#карьера #собеседование #hr #тинькофф #magnit #вкусноиточка #leroymerlin #сбер #яндекс #Эффективность #КарьерныйРост #Denis_Kivillev #Работа
🎓 Дополнительные материалы
#видео #подкаст #аудиоподкаст #конкурс #марафон #юмор
—
В почти 700 (!) постах не мудрено заплутать. Поэтому решил сделать подобие навигации 😉
Не забывайте пользоваться обычным поиском, я не добавил сюда низкочастотные хештеги.
Канал Oracle Developer | Чатик💬
Как проходит ваша суббота?
Друзья, привет ☀️
Кто чем занят в субботу? Надеюсь, отдыхаете и восстанавливаете силы 👍🏻
У меня выдался продуктивный день - сплавил жену с детьми к теще, записал в тишине новый видос по курсу Оптимизации - "Доступ к данным таблиц". Сейчас сижу в Adobe Premier спокойно монтирую без воплей "папа, она меня ударила!". У кого есть дети меня поймут 😄
До этого на трех потоках по оптимизации (прошло около 40 человек), я читал лекции сам. Каждый понедельник мы собирались в 19:15 и 1.5-2 часа тратилось на теорию.
Это прямо скажем, было не всегда удобно + долго.
В общем, за три потока материал устаканился. Я решил, что пора оцифровать теорию.
Собственно, новый 4️⃣й поток по "Оптимизации Oracle SQL", который стартовал в начале октября, уже учится по видео-лекциям.
Чем хороши видео-лекции? Сжатым таймингом, нет беканий/меканий, чистый концентрат знаний и можно посмотреть, когда тебе удобно. Если есть вопрос, то под видео есть FAQ или ТГ-чат с группой, где почти 24/7 можно задать вопрос и получить ответ.
На скрине показан процесс монтажа. Дело это довольно нудное и время затратное, каких-то помощников я привлечь не могу, хрен его знает, что они там намонтируют не понимая тему 🤷🏻♂️
С монтажем, в том объеме, в котором требуется мне, я уже давно освоился. Еще когда курс по PL/SQL делал. С каждым разом получается все более и более качественно.
Иногда смотрю свои видосы на ютубе, самые первые... волосы шевелятся от "качества" аудио и видео 😂
Кто думает, что "курсики стряпать дело 5 минут" не понимают процесса вообще 😊 На самом деле, довольно адский труд. Сделать хороший качественный продукт охренеть как сложно. Шанс слиться - 99% в первые 15 минут обдумывания идеи 😄😄
Вот так и проходят выходные 🤷🏻♂️
А у вас как? Тоже заняты чем-то по работе или может уделяете время хобби? Вообще, народ, чем кто занимается? Есть у кого-то хобби какое-то или увлечение? Рыбалка, может, или ИИ курочите 😄
Поделиться в чате 💬
#Denis_Kivillev #оптимизация
Канал Oracle Developer | Чатик💬
Друзья, привет ☀️
Кто чем занят в субботу? Надеюсь, отдыхаете и восстанавливаете силы 👍🏻
У меня выдался продуктивный день - сплавил жену с детьми к теще, записал в тишине новый видос по курсу Оптимизации - "Доступ к данным таблиц". Сейчас сижу в Adobe Premier спокойно монтирую без воплей "папа, она меня ударила!". У кого есть дети меня поймут 😄
До этого на трех потоках по оптимизации (прошло около 40 человек), я читал лекции сам. Каждый понедельник мы собирались в 19:15 и 1.5-2 часа тратилось на теорию.
Это прямо скажем, было не всегда удобно + долго.
В общем, за три потока материал устаканился. Я решил, что пора оцифровать теорию.
Собственно, новый 4️⃣й поток по "Оптимизации Oracle SQL", который стартовал в начале октября, уже учится по видео-лекциям.
Чем хороши видео-лекции? Сжатым таймингом, нет беканий/меканий, чистый концентрат знаний и можно посмотреть, когда тебе удобно. Если есть вопрос, то под видео есть FAQ или ТГ-чат с группой, где почти 24/7 можно задать вопрос и получить ответ.
На скрине показан процесс монтажа. Дело это довольно нудное и время затратное, каких-то помощников я привлечь не могу, хрен его знает, что они там намонтируют не понимая тему 🤷🏻♂️
С монтажем, в том объеме, в котором требуется мне, я уже давно освоился. Еще когда курс по PL/SQL делал. С каждым разом получается все более и более качественно.
Иногда смотрю свои видосы на ютубе, самые первые... волосы шевелятся от "качества" аудио и видео 😂
Кто думает, что "курсики стряпать дело 5 минут" не понимают процесса вообще 😊 На самом деле, довольно адский труд. Сделать хороший качественный продукт охренеть как сложно. Шанс слиться - 99% в первые 15 минут обдумывания идеи 😄😄
Вот так и проходят выходные 🤷🏻♂️
А у вас как? Тоже заняты чем-то по работе или может уделяете время хобби? Вообще, народ, чем кто занимается? Есть у кого-то хобби какое-то или увлечение? Рыбалка, может, или ИИ курочите 😄
Поделиться в чате 💬
#Denis_Kivillev #оптимизация
Канал Oracle Developer | Чатик💬
"Денис, ты что-то скрываешь"
Друзья, всем привет!
Мне в личку написало несколько человек + в чатике задали аналогичный вопрос об обучении по Оптимизации Oracle SQL - "почему не было анонса осенней группы?" 🤔
Хочу объяснить: 4️⃣-й поток запустили для корпоративного обучения. У меня появилась опция оплаты от юр лиц. Несколько компаний заранее обратились ко мне для подготовки своих ребят 💼 Кстати, эту возможность уже можно обсудить с вашим отделом обучения 😉
Почему не анонсировал?
Этот поток был именно для компаний + было несколько человек из моих бывших студентов, кто хотел попасть на обучение. Но скоро откроется предзапись на 5️⃣-й поток, и этот набор будет для всех! 🎉
Важно
Мест будет немного, чтобы сохранить персональный подход. Исходя из реакций на марафоне по PL/SQL и обращений в личку, количество желающих больше чем количество доступных мест 😮 Если планируете записаться, не откладывайте!
Что нового?
Курс обновлен на 30%! 📈
🔸 записаны видео-уроки, изменен материал с учетом предыдущих потоков;
🔸 еще больше добавлено практики разного уровня сложности;
🔸 видео-нарезки с реальных собеседований по блоку оптимизации;
🔸 добавлены темы по карьерному росту, трудоустройству за рубежом;
🔸 психологическая поддержка, ориентация на рост в senior/тимлида.
Материал подан еще лучше
лекции короче и насыщеннее 🎥, добавлены конспекты и FAQ 📚, создана удобная платформа для общения и поддержки. 🤝
В декабре я также планирую провести марафон по оптимизации Oracle 🏃♂️
Это будет интенсив на несколько дней для тех, кто хочет погрузиться в тему и быстро освоить основные знания.
Почему стоит участвовать?
1️⃣ Вы получите навыки, которые сможете сразу применять.
2️⃣ Станете ценнее как специалист.
3️⃣ Сможете решать задачи быстрее и эффективнее.
4️⃣ Перестанете бояться собеседований по оптимизации.
Как следствие повысите свою зарплату и сможете закрыть желанную цель/мечту💵
Следите за обновлениями и не пропустите анкету предзаписи! 😉
#Denis_Kivillev #оптимизация #курс #обучение
Канал Oracle Developer | Чатик💬
Друзья, всем привет!
Мне в личку написало несколько человек + в чатике задали аналогичный вопрос об обучении по Оптимизации Oracle SQL - "почему не было анонса осенней группы?" 🤔
Хочу объяснить: 4️⃣-й поток запустили для корпоративного обучения. У меня появилась опция оплаты от юр лиц. Несколько компаний заранее обратились ко мне для подготовки своих ребят 💼 Кстати, эту возможность уже можно обсудить с вашим отделом обучения 😉
Почему не анонсировал?
Этот поток был именно для компаний + было несколько человек из моих бывших студентов, кто хотел попасть на обучение. Но скоро откроется предзапись на 5️⃣-й поток, и этот набор будет для всех! 🎉
Важно
Мест будет немного, чтобы сохранить персональный подход. Исходя из реакций на марафоне по PL/SQL и обращений в личку, количество желающих больше чем количество доступных мест 😮 Если планируете записаться, не откладывайте!
Что нового?
Курс обновлен на 30%! 📈
🔸 записаны видео-уроки, изменен материал с учетом предыдущих потоков;
🔸 еще больше добавлено практики разного уровня сложности;
🔸 видео-нарезки с реальных собеседований по блоку оптимизации;
🔸 добавлены темы по карьерному росту, трудоустройству за рубежом;
🔸 психологическая поддержка, ориентация на рост в senior/тимлида.
Материал подан еще лучше
лекции короче и насыщеннее 🎥, добавлены конспекты и FAQ 📚, создана удобная платформа для общения и поддержки. 🤝
В декабре я также планирую провести марафон по оптимизации Oracle 🏃♂️
Это будет интенсив на несколько дней для тех, кто хочет погрузиться в тему и быстро освоить основные знания.
Почему стоит участвовать?
1️⃣ Вы получите навыки, которые сможете сразу применять.
2️⃣ Станете ценнее как специалист.
3️⃣ Сможете решать задачи быстрее и эффективнее.
4️⃣ Перестанете бояться собеседований по оптимизации.
Как следствие повысите свою зарплату и сможете закрыть желанную цель/мечту
Следите за обновлениями и не пропустите анкету предзаписи! 😉
#Denis_Kivillev #оптимизация #курс #обучение
Канал Oracle Developer | Чатик💬
Please open Telegram to view this post
VIEW IN TELEGRAM
Как правильно подходить к процессу оптимизации
Друзья, всем привет! 👋
Сегодня обсудим, как правильно подходить к оптимизации баз данных - тема, важная для улучшения производительности приложений и удовлетворенности пользователей.
С чего начать?
Первым делом стоит понять, что за условной кнопкой в интерфейсе пользователя стоит довольно большое количество слоёв. Каждый из них может вносить свои задержки. Нас интересует слой базы данных.
База данных - это своего рода "черный ящик", который принимает наши запросы и возвращает результаты. За ее внутреннюю оптимизацию отвечают администраторы баз данных (DBA) и системные администраторы (настройка серверов). Наша задача, как разработчиков, писать эффективные и оптимизированные SQL-запросы 🔝
Когда задумываться об оптимизации?
Есть два случая:
1️⃣ Проактивная оптимизация - когда пишем новый код и хотим сделать его производительным, чтобы не замедлить приложение после обновления 🐌
2️⃣ Реактивная оптимизация - когда проблема уже возникла, и пользователи жалуются на медленную работу 🔍
На скрине - слайд из лекций.
Как действовать?
1️⃣ Проактивная оптимизация
▫️Анализируйте запросы при разработке, проверяйте планы выполнения, операции в них, другие показатели.
▫️Используйте лучшие практики написания SQL-запросов.
▫️Тестируйте в условиях, похожих на боевые.
2️⃣Реактивная оптимизация
▫️Найдите медленные запросы.
▫️Соберите данные по ним - планы, статистики выполнения и др.
▫️Проанализируйте, найдите узкие места.
▫️Измените запрос, структуры данных.
▫️Внедрите изменения в PROD-среду и отслеживайте результат.
Важно помнить
💡Если у вас нет явных проблем с производительностью, не стоит тратить время на оптимизацию ради оптимизации. Лучше сосредоточьтесь на текущих задачах и развитии функционала.
💡Однако, если вы пишете новый код, всегда держите в уме лучшие практики и стремитесь писать эффективные запросы с самого начала. 💡
Оптимизация в реальной жизни
В реальных проектах у нас часто нет времени "плевать в потолок" и заниматься оптимизацией без явной необходимости 📆 Важно уметь быстро реагировать и иметь в арсенале проверенные методы.
Оптимизация баз данных - это не разовая задача, а постоянный процесс, который требует внимания и знаний. Чем больше вы сталкиваетесь с реальными проблемами и находите их решения, тем опытнее становитесь. Главное — обеспечить стабильную и быструю работу пользователей 🎯
Как вы подходите к оптимизации в своих проектах? Поделитесь опытом в чатике 💬
#оптимизация #курс
Канал Oracle Developer | Чатик💬
Друзья, всем привет! 👋
Сегодня обсудим, как правильно подходить к оптимизации баз данных - тема, важная для улучшения производительности приложений и удовлетворенности пользователей.
С чего начать?
Первым делом стоит понять, что за условной кнопкой в интерфейсе пользователя стоит довольно большое количество слоёв. Каждый из них может вносить свои задержки. Нас интересует слой базы данных.
База данных - это своего рода "черный ящик", который принимает наши запросы и возвращает результаты. За ее внутреннюю оптимизацию отвечают администраторы баз данных (DBA) и системные администраторы (настройка серверов). Наша задача, как разработчиков, писать эффективные и оптимизированные SQL-запросы 🔝
Когда задумываться об оптимизации?
Есть два случая:
1️⃣ Проактивная оптимизация - когда пишем новый код и хотим сделать его производительным, чтобы не замедлить приложение после обновления 🐌
2️⃣ Реактивная оптимизация - когда проблема уже возникла, и пользователи жалуются на медленную работу 🔍
На скрине - слайд из лекций.
Как действовать?
1️⃣ Проактивная оптимизация
▫️Анализируйте запросы при разработке, проверяйте планы выполнения, операции в них, другие показатели.
▫️Используйте лучшие практики написания SQL-запросов.
▫️Тестируйте в условиях, похожих на боевые.
2️⃣Реактивная оптимизация
▫️Найдите медленные запросы.
▫️Соберите данные по ним - планы, статистики выполнения и др.
▫️Проанализируйте, найдите узкие места.
▫️Измените запрос, структуры данных.
▫️Внедрите изменения в PROD-среду и отслеживайте результат.
Важно помнить
💡Если у вас нет явных проблем с производительностью, не стоит тратить время на оптимизацию ради оптимизации. Лучше сосредоточьтесь на текущих задачах и развитии функционала.
💡Однако, если вы пишете новый код, всегда держите в уме лучшие практики и стремитесь писать эффективные запросы с самого начала. 💡
Оптимизация в реальной жизни
В реальных проектах у нас часто нет времени "плевать в потолок" и заниматься оптимизацией без явной необходимости 📆 Важно уметь быстро реагировать и иметь в арсенале проверенные методы.
Оптимизация баз данных - это не разовая задача, а постоянный процесс, который требует внимания и знаний. Чем больше вы сталкиваетесь с реальными проблемами и находите их решения, тем опытнее становитесь. Главное — обеспечить стабильную и быструю работу пользователей 🎯
Как вы подходите к оптимизации в своих проектах? Поделитесь опытом в чатике 💬
#оптимизация #курс
Канал Oracle Developer | Чатик💬
Задача. Медленный запрос с продуктами
Друзья, всем привет!
Сегодня у нас очень простенькая задача на оптимизацию, в ней нет никаких подвохов.
Дана таблица:
🔸Всего 1M строк.
🔸Уникальных category - 1000.
🔸Данные распределены примерно равномерно по категориям.
Аналитик Василий выполняет запрос и ждет его результатов, довольно, долго⏳
В конце концов, ему это надоело и он пришел к вам с просьбой его ускорить.
Что посоветуете сделать? Обсудить в чате 💬
#задача #оптимизация
Канал Oracle Developer | Чатик💬
Друзья, всем привет!
Сегодня у нас очень простенькая задача на оптимизацию, в ней нет никаких подвохов.
Дана таблица:
create table products (
product_id number(10) primary key,
product_name varchar2(100) not null,
price number(10, 2) not null,
category varchar2(50) not null
);
🔸Всего 1M строк.
🔸Уникальных category - 1000.
🔸Данные распределены примерно равномерно по категориям.
Аналитик Василий выполняет запрос и ждет его результатов, довольно, долго⏳
select product_name
,price
from products
where category = 'Electronics'
and price > 100;
В конце концов, ему это надоело и он пришел к вам с просьбой его ускорить.
Что посоветуете сделать? Обсудить в чате 💬
#задача #оптимизация
Канал Oracle Developer | Чатик💬
Решение. Медленный запрос с продуктами.
Друзья, всем привет!
Обсудим решение нашей простенькой задачки из предыдущего поста.
—
Итак, аналитик Василий обещал вам проставиться в пятницу бутылочкой вкусного пивка 🍺
А все потому, что вы ускорили его запрос!
К вам подошел коллега Игорь и решил поинтересоваться как вы справились с этой задачкой.
💭 "Игорь, это же элементарно! В предикатах участвуют два столбца category и price. Category имеет довольно разнообразное значение. Я где-то слышал, что такие значения называют высококардинальными значениями. И Price, само собой, тоже. Я подумал, что было бы круто создать составной индекс по этим двум полям. Отбираться будет меньше 5-15% от общего количества, а значит индекс будет эффективен", - довольно ответили вы 😊
И сразу же показали, скрипт создания индекса.
А что бы убедить Игоря, показали explain план запроса (см скрин).
"Да! но как ты получил план запроса?", - спросил Игорь.
"А это уже профессиональная тайна", - довольно ответили вы 😊
Senior разработчик Кирилл, совершенно случайно услышавший ваш разговор, добавил: "вообще, можно было бы и одним полем обойтись" 😉
Обсудить в чате 💬
#решениезадачи #оптимизация
Канал Oracle Developer | Чатик💬
Друзья, всем привет!
Обсудим решение нашей простенькой задачки из предыдущего поста.
—
Итак, аналитик Василий обещал вам проставиться в пятницу бутылочкой вкусного пивка 🍺
А все потому, что вы ускорили его запрос!
К вам подошел коллега Игорь и решил поинтересоваться как вы справились с этой задачкой.
💭 "Игорь, это же элементарно! В предикатах участвуют два столбца category и price. Category имеет довольно разнообразное значение. Я где-то слышал, что такие значения называют высококардинальными значениями. И Price, само собой, тоже. Я подумал, что было бы круто создать составной индекс по этим двум полям. Отбираться будет меньше 5-15% от общего количества, а значит индекс будет эффективен", - довольно ответили вы 😊
И сразу же показали, скрипт создания индекса.
create index products_category_price_i on products (category, price);
А что бы убедить Игоря, показали explain план запроса (см скрин).
"Да! но как ты получил план запроса?", - спросил Игорь.
"А это уже профессиональная тайна", - довольно ответили вы 😊
Обсудить в чате 💬
#решениезадачи #оптимизация
Канал Oracle Developer | Чатик💬
Друзья, всем привет! 👋
Сегодня поговорим о том, как простые изменения в оптимизации могут снизить затраты на ресурсы базы данных. Это часто вызывает вопросы, особенно у новичков.
С чего начать?
Оптимизация — это не волшебство, а набор практик и инструментов, которые делают работу эффективнее. Простые приёмы могут значительно уменьшить нагрузку на базу и повысить производительность приложения 🚀
Используйте Explain Plan
Explain Plan — один из ключевых инструментов в оптимизации, показывающий, как база данных выполнит запрос, и помогает выбрать лучший путь. Важно проверять планы запросов на тех средах (Dev, Test, Prod), где они будут использоваться. 🧐
Обратите внимание на Execution Plan
Execution Plan показывает, как запрос действительно выполняется. На продакшене он позволяет выявить узкие места и понять, где можно улучшить запрос.
Хинты: за и против
Иногда используют хинты — указания для оптимизатора, как выполнить запрос. Но будьте осторожны! Хинты могут как улучшить, так и ухудшить выполнение, если применены неправильно ⚠️
Знание внутренних механизмов
Например, понимание child-курсов может помочь в сложных ситуациях. Дать понимание "почему же вдруг у моего запроса изменился план".
Обращаем внимание
1️⃣ Выбор методов соединения: понимание, когда и какой метод соединения использовать nested loops, hash join, ...
2️⃣ Порядок соединения таблиц: неправильный выбор очередности таблиц в соединение может драматически повлиять на выполнение.
3️⃣ Индексы: правильно созданные индексы ускоряют доступ к данным в определенных случаях.
На практике часто предлагают "построить индекс" при проблемах с производительностью, но это не всегда является решением. Вот у кого-то сейчас мозг взорвался "индексы же всегда помогают улучшать запрос!!!", а вот и ни фига подобного 😁 Важно понимать, что именно вызывает проблемы 🔍
Можно бесконечно перечислять на что стоит обратить внимание при написании оптимальных запросов.
Постоянное развитие
Оптимизация требует постоянного обучения. Чем больше знаете о внутренних механизмах базы, тем эффективнее сможете оптимизировать запросы.
Простые изменения и правильные инструменты помогут сократить затраты на ресурсы базы и улучшить производительность. Если хотите действительно понимать, а не тыкаться как слепой котёнок, записывайся на обучение. Анонс скоро будет 🎓
А какие фишки используете вы? Поделиться в чатике 💬
#оптимизация #курс
Канал Oracle Developer | Чатик💬
Сегодня поговорим о том, как простые изменения в оптимизации могут снизить затраты на ресурсы базы данных. Это часто вызывает вопросы, особенно у новичков.
С чего начать?
Оптимизация — это не волшебство, а набор практик и инструментов, которые делают работу эффективнее. Простые приёмы могут значительно уменьшить нагрузку на базу и повысить производительность приложения 🚀
Используйте Explain Plan
Explain Plan — один из ключевых инструментов в оптимизации, показывающий, как база данных выполнит запрос, и помогает выбрать лучший путь. Важно проверять планы запросов на тех средах (Dev, Test, Prod), где они будут использоваться. 🧐
Обратите внимание на Execution Plan
Execution Plan показывает, как запрос действительно выполняется. На продакшене он позволяет выявить узкие места и понять, где можно улучшить запрос.
Хинты: за и против
Иногда используют хинты — указания для оптимизатора, как выполнить запрос. Но будьте осторожны! Хинты могут как улучшить, так и ухудшить выполнение, если применены неправильно ⚠️
Знание внутренних механизмов
Например, понимание child-курсов может помочь в сложных ситуациях. Дать понимание "почему же вдруг у моего запроса изменился план".
Обращаем внимание
1️⃣ Выбор методов соединения: понимание, когда и какой метод соединения использовать nested loops, hash join, ...
2️⃣ Порядок соединения таблиц: неправильный выбор очередности таблиц в соединение может драматически повлиять на выполнение.
3️⃣ Индексы: правильно созданные индексы ускоряют доступ к данным в определенных случаях.
На практике часто предлагают "построить индекс" при проблемах с производительностью, но это не всегда является решением. Вот у кого-то сейчас мозг взорвался "индексы же всегда помогают улучшать запрос!!!", а вот и ни фига подобного 😁 Важно понимать, что именно вызывает проблемы 🔍
Можно бесконечно перечислять на что стоит обратить внимание при написании оптимальных запросов.
Постоянное развитие
Оптимизация требует постоянного обучения. Чем больше знаете о внутренних механизмах базы, тем эффективнее сможете оптимизировать запросы.
Простые изменения и правильные инструменты помогут сократить затраты на ресурсы базы и улучшить производительность. Если хотите действительно понимать, а не тыкаться как слепой котёнок, записывайся на обучение. Анонс скоро будет 🎓
А какие фишки используете вы? Поделиться в чатике 💬
#оптимизация #курс
Канал Oracle Developer | Чатик💬
Марафон по оптимизации в декабре
Готовлю для вас марафон по оптимизации Oracle SQL, который стартует через месяц. 🏁
В прошлый раз, на марафоне по PL/SQL была какая-то запредельная нагрузка. На этот раз хочу подготовиться заранее и сделать всё максимально круто 💪
Напишите в комментариях, какие задачи и вопросы вы хотели бы разобрать на марафоне. Выберу самые интересные и включу их в программу! 🎯
Жду ваших предложений! Обсудить в чате💬
#оптимизация #марафон
Канал Oracle Developer | Чатик💬
Готовлю для вас марафон по оптимизации Oracle SQL, который стартует через месяц. 🏁
В прошлый раз, на марафоне по PL/SQL была какая-то запредельная нагрузка. На этот раз хочу подготовиться заранее и сделать всё максимально круто 💪
Напишите в комментариях, какие задачи и вопросы вы хотели бы разобрать на марафоне. Выберу самые интересные и включу их в программу! 🎯
Жду ваших предложений! Обсудить в чате💬
#оптимизация #марафон
Канал Oracle Developer | Чатик💬
Друзья, всем привет! 👋
Активно готовлю 5️⃣-й поток курса по оптимизации Oracle SQL. Вроде выходные, но здоровый перфекционизм берет свое, и работа кипит 24/7. Хочу рассказать, почему курс стоит своих денег и поделиться отзывами участников, которые окупили его стоимость уже в первые месяцы 💰
Что вас ждет в 5-м потоке?
1️⃣ Четкая структура: все темы разбиты на модули, с подробным планом обучения.
2️⃣ Готовые шаблоны и заметки: экономим время — конспекты уже сделаны.
3️⃣ Море практики: разбираем реальные задачи, с которыми вы столкнетесь.
4️⃣ Экономия времени вашей жизни: знания и инструменты, которые сразу можно применять. ⏳
5️⃣ Аналогов на рынке нет: курсов либо вообще нет, либо качество их извините... "освой оптимизацию за 4 дня" это что за п*** 🤬🤬
6️⃣ Карьерный консультант и реальные примеры собеседований: увеличение навыков прохождения собесов и приемы увеличения з/п в 1,5-2 раза.
7️⃣ Психологическая поддержка: поможет быстрее достичь результатов. Чем выше должность, тем больше ответственности, а "какой солдат не мечтает стать генералом?"
Буквально выжимка из отзывов
💬 "за две недели получил несколько офферов, и через месяц после поисков вышел на позицию почти x2 от предыдущей";
💬 "хочу похвастаться, что у меня уже курс окупился, значит всё было не зря";
💬 "да, твой курс уже наполовину окупился, эта штука мне в сумме пару недель жизни бы сэкономила";
💬 "15 минут, а столько нужной информации, что просто капец. вот хрен же кто такому научит".
Видео-отзывы: 1 поток, 2 поток, 3 поток, отзывы-скриншоты.
Почему это выгодная инвестиция?
✅ Монополия знаний: аналогов нет — вы получаете конкурентное преимущество.
✅ Практическая ценность: навыки, которые реально важны для бизнеса.
✅ Быстрая окупаемость: многие ощутили эффект в первые месяцы благодаря новым возможностям и повышению зарплаты. 💎
Цена выросла?
Да, стоимость повысилась, но курс остается уникальным. Все знания основаны на реальных кейсах, моем опыте и опыте предыдущих потоков. Это вложение в себя окупится многократно! 📚
Почему сейчас идеальное время присоединиться?
✅ Ограниченные места: внимание каждому участнику, поэтому группы небольшие.
✅ Постоянное обновление: курс адаптируется, улучшается.
✅ Сообщество единомышленников: поддержка и обмен опытом. 🤝
Не упустите возможность инвестировать в себя! Уже скоро опубликую анкету предзаписи 🚀
Вопросы? Пишите, с радостью отвечу 💬
#оптимизация #курс
Канал Oracle Developer | Чатик💬
Активно готовлю 5️⃣-й поток курса по оптимизации Oracle SQL. Вроде выходные, но здоровый перфекционизм берет свое, и работа кипит 24/7. Хочу рассказать, почему курс стоит своих денег и поделиться отзывами участников, которые окупили его стоимость уже в первые месяцы 💰
Что вас ждет в 5-м потоке?
1️⃣ Четкая структура: все темы разбиты на модули, с подробным планом обучения.
2️⃣ Готовые шаблоны и заметки: экономим время — конспекты уже сделаны.
3️⃣ Море практики: разбираем реальные задачи, с которыми вы столкнетесь.
4️⃣ Экономия времени вашей жизни: знания и инструменты, которые сразу можно применять. ⏳
5️⃣ Аналогов на рынке нет: курсов либо вообще нет, либо качество их извините... "освой оптимизацию за 4 дня" это что за п*** 🤬🤬
6️⃣ Карьерный консультант и реальные примеры собеседований: увеличение навыков прохождения собесов и приемы увеличения з/п в 1,5-2 раза.
7️⃣ Психологическая поддержка: поможет быстрее достичь результатов. Чем выше должность, тем больше ответственности, а "какой солдат не мечтает стать генералом?"
Буквально выжимка из отзывов
💬 "за две недели получил несколько офферов, и через месяц после поисков вышел на позицию почти x2 от предыдущей";
💬 "хочу похвастаться, что у меня уже курс окупился, значит всё было не зря";
💬 "да, твой курс уже наполовину окупился, эта штука мне в сумме пару недель жизни бы сэкономила";
💬 "15 минут, а столько нужной информации, что просто капец. вот хрен же кто такому научит".
Видео-отзывы: 1 поток, 2 поток, 3 поток, отзывы-скриншоты.
Почему это выгодная инвестиция?
✅ Монополия знаний: аналогов нет — вы получаете конкурентное преимущество.
✅ Практическая ценность: навыки, которые реально важны для бизнеса.
✅ Быстрая окупаемость: многие ощутили эффект в первые месяцы благодаря новым возможностям и повышению зарплаты. 💎
Цена выросла?
Да, стоимость повысилась, но курс остается уникальным. Все знания основаны на реальных кейсах, моем опыте и опыте предыдущих потоков. Это вложение в себя окупится многократно! 📚
Почему сейчас идеальное время присоединиться?
✅ Ограниченные места: внимание каждому участнику, поэтому группы небольшие.
✅ Постоянное обновление: курс адаптируется, улучшается.
✅ Сообщество единомышленников: поддержка и обмен опытом. 🤝
Не упустите возможность инвестировать в себя! Уже скоро опубликую анкету предзаписи 🚀
Вопросы? Пишите, с радостью отвечу 💬
#оптимизация #курс
Канал Oracle Developer | Чатик💬
Друзья, всем привет! 👋
Сегодня поговорим о том, какие задачи решает оптимизация и почему она важна для каждого разработчика.
Проблема №1: "Всё стало тормозить!"
Знакомо? Пользователи жалуются, начальство нервничает, и вам срочно нужно найти решение 😅
Представьте: вам приходит срочное сообщение от вашего тимлида или второй линии поддержки — "Вася, всё тормозит, срочно решай!". Ладошки потеют, мысли путаются. Что делать? Куда бежать? 😱😨
Если база данных ваша, и у вас есть доступ, то уже легче. Но что, если это база заказчика, например, банка, и доступа нет? Тут стресс усиливается вдвойне.
Проблема №2: Как написать оптимальный запрос с нуля
Важно сразу писать эффективные запросы, чтобы потом не пришлось исправлять и бегать с "горящей пятой точкой". Зная, как анализировать и понимать планы запросов, вы сможете сразу писать код, избегая потенциальных узких мест.
Как подойти к решению проблемы 1 и 2?
Многие начинают вслепую оптимизировать то, что им знакомо, даже если это не причина проблемы. Это как блуждать по темному лесу без фонарика и карты🌲
Только системный подход к решению проблем даст эффект. Именно ему, мы учим на курсе.
1️⃣ Диагностика: Как найти медленные запросы? Где узкие места? 🔍
2️⃣ План запроса: Что это такое и как его получить? 📋
3️⃣ Чтение и анализ плана: Что означают операции? Если не умеете читать план, не сможете решить проблему. 📖
4️⃣ Анализ: Где проблема? 🤔
5️⃣ Внедрение изменений: Как исправить и поставить в продакшн, если система работает 24/7? 🛠
Итог
После курса такие проблемы, как "всё тормозит" или "кнопка раньше работала за секунду, а теперь за минуту" станут для вас легко решаемыми. Вы сможете быстро находить и устранять узкие места, писать оптимальные запросы с нуля и чувствовать себя уверенно в любой ситуации 💪
А у вас бывали проблемы с запросами? А в 3 часа ночи? А в банке, в который вы поставили изменения в новом патче?
У меня бывало 😆 У кого какие треш-истории были?
Обсудить в чате 💬
#оптимизация #курс
Канал Oracle Developer | Чатик💬
Сегодня поговорим о том, какие задачи решает оптимизация и почему она важна для каждого разработчика.
Проблема №1: "Всё стало тормозить!"
Знакомо? Пользователи жалуются, начальство нервничает, и вам срочно нужно найти решение 😅
Представьте: вам приходит срочное сообщение от вашего тимлида или второй линии поддержки — "Вася, всё тормозит, срочно решай!". Ладошки потеют, мысли путаются. Что делать? Куда бежать? 😱😨
Если база данных ваша, и у вас есть доступ, то уже легче. Но что, если это база заказчика, например, банка, и доступа нет? Тут стресс усиливается вдвойне.
Проблема №2: Как написать оптимальный запрос с нуля
Важно сразу писать эффективные запросы, чтобы потом не пришлось исправлять и бегать с "горящей пятой точкой". Зная, как анализировать и понимать планы запросов, вы сможете сразу писать код, избегая потенциальных узких мест.
Как подойти к решению проблемы 1 и 2?
Многие начинают вслепую оптимизировать то, что им знакомо, даже если это не причина проблемы. Это как блуждать по темному лесу без фонарика и карты🌲
Только системный подход к решению проблем даст эффект. Именно ему, мы учим на курсе.
1️⃣ Диагностика: Как найти медленные запросы? Где узкие места? 🔍
2️⃣ План запроса: Что это такое и как его получить? 📋
3️⃣ Чтение и анализ плана: Что означают операции? Если не умеете читать план, не сможете решить проблему. 📖
4️⃣ Анализ: Где проблема? 🤔
5️⃣ Внедрение изменений: Как исправить и поставить в продакшн, если система работает 24/7? 🛠
Итог
После курса такие проблемы, как "всё тормозит" или "кнопка раньше работала за секунду, а теперь за минуту" станут для вас легко решаемыми. Вы сможете быстро находить и устранять узкие места, писать оптимальные запросы с нуля и чувствовать себя уверенно в любой ситуации 💪
А у вас бывали проблемы с запросами? А в 3 часа ночи? А в банке, в который вы поставили изменения в новом патче?
У меня бывало 😆 У кого какие треш-истории были?
Обсудить в чате 💬
#оптимизация #курс
Канал Oracle Developer | Чатик💬
Как справляться с высокими нагрузками на базу данных?
Друзья, всем привет! 👋
Сегодня поговорим о том, как оптимизация помогает справляться с высокими нагрузками на базу данных — тема, актуальная для многих разработчиков и DBA.
Что такое высокая нагрузка?
Высокая нагрузка может проявляться по-разному:
1️⃣ Много пользователей - когда большое количество пользователей одновременно обращаются к базе данных, даже простые запросы могут создать существенную нагрузку 👫👫👫
2️⃣ Тяжелые запросы - даже если пользователей немного, но каждый из них выполняет ресурсоемкие операции, нагрузка на базу данных возрастает. 🐘
Почему это важно?
База данных — это как автобус с ограниченным количеством мест. 🚌 Если слишком много пассажиров (запросов) или они слишком "тяжелые" (неоптимизированные), автобус не сможет быстро и эффективно доставить всех к месту назначения.
Как оптимизация помогает?
Оптимизация позволяет "усушить" тяжелые запросы, сделав их более легкими и быстрыми. Это как помочь полным пассажирам похудеть, чтобы в автобус вместилось больше людей без увеличения его размера, но при этом сохранить эффективность пассажиров. 🏋️♂️
Вертикальное масштабирование vs Оптимизация
Вертикальное масштабирование (добавление hardware-ресурсов) имеет пределы, может быть дорогостоящим 💰 При это навалив в два раза больше CPU вы, не получите увеличения скорости работы системы в 2 раза.
Оптимизация фокусируется на улучшении существующих запросов без дополнительных затрат на оборудование 🛠
Простой пример
Представьте метро в час пик 🚇 Люди толпятся, создается хаос. Если правильно организовать потоки пассажиров, установить указатели и разделить входящие и исходящие потоки, пропускная способность увеличивается без расширения станции. Аналогично и с базой данных: оптимизация запросов позволяет обработать больше операций за то же время.
Скинуть чуть позже еще один примерчик 😉
Почему компании инвестируют в оптимизацию?
🔸 Улучшение производительности: быстрые ответы базы данных повышают удовлетворенность пользователей.
🔸 Снижение затрат: нет необходимости тратить деньги на дополнительное оборудование.
🔸 Конкурентное преимущество: быстро работающие приложения привлекают больше клиентов.
Как вы справляетесь с высокими нагрузками в своих проектах? Поделитесь опытом в чатике 💬
#оптимизация #производительность
Канал Oracle Developer| Чатик 💬
Друзья, всем привет! 👋
Сегодня поговорим о том, как оптимизация помогает справляться с высокими нагрузками на базу данных — тема, актуальная для многих разработчиков и DBA.
Что такое высокая нагрузка?
Высокая нагрузка может проявляться по-разному:
1️⃣ Много пользователей - когда большое количество пользователей одновременно обращаются к базе данных, даже простые запросы могут создать существенную нагрузку 👫👫👫
2️⃣ Тяжелые запросы - даже если пользователей немного, но каждый из них выполняет ресурсоемкие операции, нагрузка на базу данных возрастает. 🐘
Почему это важно?
База данных — это как автобус с ограниченным количеством мест. 🚌 Если слишком много пассажиров (запросов) или они слишком "тяжелые" (неоптимизированные), автобус не сможет быстро и эффективно доставить всех к месту назначения.
Как оптимизация помогает?
Оптимизация позволяет "усушить" тяжелые запросы, сделав их более легкими и быстрыми. Это как помочь полным пассажирам похудеть, чтобы в автобус вместилось больше людей без увеличения его размера, но при этом сохранить эффективность пассажиров. 🏋️♂️
Вертикальное масштабирование vs Оптимизация
Вертикальное масштабирование (добавление hardware-ресурсов) имеет пределы, может быть дорогостоящим 💰 При это навалив в два раза больше CPU вы, не получите увеличения скорости работы системы в 2 раза.
Оптимизация фокусируется на улучшении существующих запросов без дополнительных затрат на оборудование 🛠
Простой пример
Представьте метро в час пик 🚇 Люди толпятся, создается хаос. Если правильно организовать потоки пассажиров, установить указатели и разделить входящие и исходящие потоки, пропускная способность увеличивается без расширения станции. Аналогично и с базой данных: оптимизация запросов позволяет обработать больше операций за то же время.
Скинуть чуть позже еще один примерчик 😉
Почему компании инвестируют в оптимизацию?
🔸 Улучшение производительности: быстрые ответы базы данных повышают удовлетворенность пользователей.
🔸 Снижение затрат: нет необходимости тратить деньги на дополнительное оборудование.
🔸 Конкурентное преимущество: быстро работающие приложения привлекают больше клиентов.
Как вы справляетесь с высокими нагрузками в своих проектах? Поделитесь опытом в чатике 💬
#оптимизация #производительность
Канал Oracle Developer| Чатик 💬
Пример. Пуш-уведомления 📲
Продолжаем обсуждать, как оптимизация помогает справляться с высокими нагрузками на базу данных.
Ситуация. Вы совершаете платеж, и вам нужно получить пуш-уведомление с кодом подтверждения. Обычно оно приходит мгновенно. Но что, если уведомление задерживается на минуту или даже больше? 😱
Вы только представьте сколько слоёв приложений, запросов в базы данных, очередей, сетевых коммуникаций проходит сигнал нажатия кнопки "Оплатить" в вашем мобильном приложении до получения ПУШ-уведомления?
Огромное количество, в том числе не только на нашей стороне (например, Google Firebase).
Предположим, один из запросов в базу данных выполняется медленно. Вместо обычных 20ms, выполняется за секунду. Казалось бы мелочь - всего секунда. А таких запросов может и десяток набраться. Backend-разработчики, мне прекрасно понимают 😉 Короче, это всё влияет на время доставки пуша.
Пользователь недоволен, оплатить не может, бизнес теряет деньги 💸
Почему скорость важна?
SLA (Service Level Agreement): многие компании устанавливают строгие требования к времени отклика систем. Например, пуш должен быть доставлен не позднее 3 секунд.
Пользовательский опыт: Задержки снижают доверие к сервису.
Как оптимизация в слое БД решает проблему?
🔸Уменьшение времени выполнения запросов: оптимизированные запросы выполняются быстрее, что сокращает общую задержку.
🔸Снижение нагрузки на систему: эффективные запросы потребляют меньше ресурсов, позволяя обслуживать больше пользователей одновременно.
Что будет, если не оптимизировать?
1️⃣ Потеря клиентов: никто не будет ждать минутами подтверждения платежа.
2️⃣ Ущерб репутации: замедление сервисов подрывает доверие к компании.
3️⃣ Финансовые потери: нет клиентов, не могут оплатить - минус доход.
Оптимизация — это не просто улучшение кода, это стратегический инструмент для поддержания конкурентоспособности и удовлетворения потребностей пользователей. 🚀
А у вас были случаи, когда медленные запросы приводили к проблемам? Делитесь историями в чатике 💬
#оптимизация #производительность
Канал Oracle Developer | Чатик 💬
Продолжаем обсуждать, как оптимизация помогает справляться с высокими нагрузками на базу данных.
Ситуация. Вы совершаете платеж, и вам нужно получить пуш-уведомление с кодом подтверждения. Обычно оно приходит мгновенно. Но что, если уведомление задерживается на минуту или даже больше? 😱
Вы только представьте сколько слоёв приложений, запросов в базы данных, очередей, сетевых коммуникаций проходит сигнал нажатия кнопки "Оплатить" в вашем мобильном приложении до получения ПУШ-уведомления?
Огромное количество, в том числе не только на нашей стороне (например, Google Firebase).
Предположим, один из запросов в базу данных выполняется медленно. Вместо обычных 20ms, выполняется за секунду. Казалось бы мелочь - всего секунда. А таких запросов может и десяток набраться. Backend-разработчики, мне прекрасно понимают 😉 Короче, это всё влияет на время доставки пуша.
Пользователь недоволен, оплатить не может, бизнес теряет деньги 💸
Почему скорость важна?
SLA (Service Level Agreement): многие компании устанавливают строгие требования к времени отклика систем. Например, пуш должен быть доставлен не позднее 3 секунд.
Пользовательский опыт: Задержки снижают доверие к сервису.
Как оптимизация в слое БД решает проблему?
🔸Уменьшение времени выполнения запросов: оптимизированные запросы выполняются быстрее, что сокращает общую задержку.
🔸Снижение нагрузки на систему: эффективные запросы потребляют меньше ресурсов, позволяя обслуживать больше пользователей одновременно.
Что будет, если не оптимизировать?
1️⃣ Потеря клиентов: никто не будет ждать минутами подтверждения платежа.
2️⃣ Ущерб репутации: замедление сервисов подрывает доверие к компании.
3️⃣ Финансовые потери: нет клиентов, не могут оплатить - минус доход.
Оптимизация — это не просто улучшение кода, это стратегический инструмент для поддержания конкурентоспособности и удовлетворения потребностей пользователей. 🚀
А у вас были случаи, когда медленные запросы приводили к проблемам? Делитесь историями в чатике 💬
#оптимизация #производительность
Канал Oracle Developer | Чатик 💬