powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Реорганизация связи многие-ко-многим
5 сообщений из 5, страница 1 из 1
Реорганизация связи многие-ко-многим
    #38313161
mish1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В БД 3 таблицы: 2 сущности и связь многие-ко-многим.
В таблице связей - 50 млн. строк и их количество не спеша растет (условное ограничение сверху в 500 млн.)
При том количестве, что есть сейчас, начинают тормозить запросы выборки (в запросах приходится 2 раза join'ить пусть и ограниченную, но объемную таблицу связей). Требуется оптимизировать базу.

Структура данных такова, что привязки от одной таблицы сущностей к другой типизированы, и каждого типа может быть одна связь. Число типов привязок порядка 1000, но в среднем 50. Связь многие-ко-многим хорошо хранит достаточно разряженные данные и более проста, но работала при меньшем количестве данных.

Размышляю над тремя подходами оптимизации (которые можно комбинировать):
1. Разбить таблицу связей на несколько таблиц, выделив в каждую свой блок связей.
2. Добавить в одну таблицу сущностей много-много колонок (для каждого типа связи), и ставить ссылку напрямую.
3. Формировать по мере заведения данных дополнительные таблицы для отчетов (набор полей заранее известен). В случае изменения набора данных (которое будет предположительно не частым) их придется пересоздавать.

Объем работы не существенен. Важно, чтобы решение надолго обеспечило хорошую производительность.

Кто сталкивался с подобной задачей, какой подход более серьезный?

ps. БД Oracle 10g, Standard Edition
...
Рейтинг: 0 / 0
Реорганизация связи многие-ко-многим
    #38313180
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индексы на таблице создавать не пробовали?
...
Рейтинг: 0 / 0
Реорганизация связи многие-ко-многим
    #38313189
mish1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все индексы есть. Среднее время выполнения запросов на локальной машине 1-5 минут. Требуется быстрее. Какой будет сервер неизвестно, возможно слабый.
...
Рейтинг: 0 / 0
Реорганизация связи многие-ко-многим
    #38313238
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mish1 Все индексы естьНу так проверьте как они используются. Постройте идеальный план, посмотрите реальный план, посчитайте количество логических чтений. Хрустальный шар подсказывает, что вы не использовали весь потенциал лобового решения. Если один способ соединения используется много чаще чем другой, то попробуйте превратить таблицу в IOT.
...
Рейтинг: 0 / 0
Реорганизация связи многие-ко-многим
    #38313454
Фотография ssas12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проанализировать индексы, секционирование, материализов. вью, параллельность и т.д.
да дофига возможностей для маневра
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Реорганизация связи многие-ко-многим
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]