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: |

Telegram is riding high, adding tens of million of users this year. Now the bill is coming due.Telegram is one of the few significant social-media challengers to Facebook Inc., FB -1.90% on a trajectory toward one billion users active each month by the end of 2022, up from roughly 550 million today.

The SSE was the first modern stock exchange to open in China, with trading commencing in 1990. It has now grown to become the largest stock exchange in Asia and the third-largest in the world by market capitalization, which stood at RMB 50.6 trillion (US$7.8 trillion) as of September 2021. Stocks (both A-shares and B-shares), bonds, funds, and derivatives are traded on the exchange. The SEE has two trading boards, the Main Board and the Science and Technology Innovation Board, the latter more commonly known as the STAR Market. The Main Board mainly hosts large, well-established Chinese companies and lists both A-shares and B-shares.

Oracle Developer‍ from ms


Telegram Oracle Developer👨🏻‍💻
FROM USA