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

Сегодня понедельник — самое время для технической задачки 🔥

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

Итак, ситуация:

На проекте по импортозамещению выполнили миграцию с одной из западных CRM-систем на продукт собственной разработки.
В качестве СУБД используется Oracle 19c (Standard Edition).

Во время переноса:

🔶 для истории действий пользователей была создана таблица user_logs.
🔶 Объём — 3 миллиарда строк 🔥
🔶 По требованиям законодательства данные должны храниться не менее 5 лет.
🔶 Таблица НЕ секционирована (ограничения редакции SE).

Периодически нужно получать все события (event_type) по клиенту (client_id) за последние N дней.

Пример запроса:

SELECT event_type, event_date, description
FROM user_logs
WHERE client_id = :client_id
AND event_date >= SYSDATE - 90
ORDER BY event_date DESC;


❗️ Проблемка:

🔶 Запрос к одному клиенту выполняется 20–30 секунд.
🔶 Если клиент активный (около 100 000 событий за 3 месяца) — всё становится совсем грустно 🐌
- В плане видно Index Range Scan по индексу (client_id, event_date), но нагрузки на I/O всё равно большие 🤷‍♂️

Условия:

1️⃣ Materialized View не вариант — нет места под дублирование данных.
2️⃣ Переехать на Enterprise Edition в ближайшие месяцы нет возможности 🤷‍♂️

Вопрос: как ускорить выполнение запроса без секционирования

Кто решит — плюсик в карму и +100 к уважению в нашем чате Oracle-разработчиков 🚀

Разбор задачи, как всегда, в четверг 🎓

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

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



tg-me.com/oracle_dbd/893
Create:
Last Update:

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

Сегодня понедельник — самое время для технической задачки 🔥

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

Итак, ситуация:

На проекте по импортозамещению выполнили миграцию с одной из западных CRM-систем на продукт собственной разработки.
В качестве СУБД используется Oracle 19c (Standard Edition).

Во время переноса:

🔶 для истории действий пользователей была создана таблица user_logs.
🔶 Объём — 3 миллиарда строк 🔥
🔶 По требованиям законодательства данные должны храниться не менее 5 лет.
🔶 Таблица НЕ секционирована (ограничения редакции SE).

Периодически нужно получать все события (event_type) по клиенту (client_id) за последние N дней.

Пример запроса:

SELECT event_type, event_date, description
FROM user_logs
WHERE client_id = :client_id
AND event_date >= SYSDATE - 90
ORDER BY event_date DESC;


❗️ Проблемка:

🔶 Запрос к одному клиенту выполняется 20–30 секунд.
🔶 Если клиент активный (около 100 000 событий за 3 месяца) — всё становится совсем грустно 🐌
- В плане видно Index Range Scan по индексу (client_id, event_date), но нагрузки на I/O всё равно большие 🤷‍♂️

Условия:

1️⃣ Materialized View не вариант — нет места под дублирование данных.
2️⃣ Переехать на Enterprise Edition в ближайшие месяцы нет возможности 🤷‍♂️

Вопрос: как ускорить выполнение запроса без секционирования

Кто решит — плюсик в карму и +100 к уважению в нашем чате Oracle-разработчиков 🚀

Разбор задачи, как всегда, в четверг 🎓

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

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

BY Oracle Developer👨🏻‍💻




Share with your friend now:
tg-me.com/oracle_dbd/893

View MORE
Open in Telegram


Oracle Developer‍ Telegram | DID YOU KNOW?

Date: |

Start with a fresh view of investing strategy. The combination of risks and fads this quarter looks to be topping. That means the future is ready to move in.Likely, there will not be a wholesale shift. Company actions will aim to benefit from economic growth, inflationary pressures and a return of market-determined interest rates. In turn, all of that should drive the stock market and investment returns higher.

A project of our size needs at least a few hundred million dollars per year to keep going,” Mr. Durov wrote in his public channel on Telegram late last year. “While doing that, we will remain independent and stay true to our values, redefining how a tech company should operate.

Oracle Developer‍ from sa


Telegram Oracle Developer👨🏻‍💻
FROM USA