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

Can I mute a Telegram group?

In recent times, Telegram has gained a lot of popularity because of the controversy over WhatsApp’s new privacy policy. In January 2021, Telegram was the most downloaded app worldwide and crossed 500 million monthly active users. And with so many active users on the app, people might get messages in bulk from a group or a channel that can be a little irritating. So to get rid of the same, you can mute groups, chats, and channels on Telegram just like WhatsApp. You can mute notifications for one hour, eight hours, or two days, or you can disable notifications forever.

What is Telegram?

Telegram’s stand out feature is its encryption scheme that keeps messages and media secure in transit. The scheme is known as MTProto and is based on 256-bit AES encryption, RSA encryption, and Diffie-Hellman key exchange. The result of this complicated and technical-sounding jargon? A messaging service that claims to keep your data safe.Why do we say claims? When dealing with security, you always want to leave room for scrutiny, and a few cryptography experts have criticized the system. Overall, any level of encryption is better than none, but a level of discretion should always be observed with any online connected system, even Telegram.

Oracle Developer‍ from tw


Telegram Oracle Developer👨🏻‍💻
FROM USA