powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Только для самых умных - 3х мерные таблицы :-))
5 сообщений из 5, страница 1 из 1
Только для самых умных - 3х мерные таблицы :-))
    #32169124
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ли возможность создавать 3х мерные таблицы?

Насколько я понимаю это можно реализовать с помощью вложенных подтаблиц. Есть ли еще какой-нибудь способ?
Кроме того интересует производительность. Будет ли это работать с приемлемой скоростью? Скажем так будет ли выборка по вложенным таблицам/3-у измерению работать быстрее чем
select count(*) from table where index1=a and index2=b
index1 и index2 - это числовые поля
table - содержит 2млн записей.
Т.е. в третьем измерении я хочу сохранять результат этого запроса, чтобы не считать его каждый раз.
...
Рейтинг: 0 / 0
Только для самых умных - 3х мерные таблицы :-))
    #32169171
Roman_M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Есть ли возможность создавать 3х мерные таблицы?

Есть

> можно реализовать с помощью вложенных подтаблиц. Есть ли еще какой-нибудь способ?

кроме Nested table можно varray, object type

>Будет ли это работать с приемлемой скоростью?

Это можно только замерить. Причем на реальных обьемах данных. Остальное - домыслы и гадания. Надеюсь присутствующие здесь разработчики расскажут подробнее.

>Т.е. в третьем измерении я хочу сохранять результат этого запроса, чтобы не считать его каждый раз.

Фактически для данных вложенной таблицы создается отдельный сегмент и сервер все равно будет его сканировать на предмет отбора нужного подмножества. Так что только проверять экспериментально... Учтите, что некоторые полезные вещи не работают с вложенными таблицами, например LogMiner.
...
Рейтинг: 0 / 0
Только для самых умных - 3х мерные таблицы :-))
    #32169183
LG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>Есть ли еще какой-нибудь способ?
Я думаю Гостю следует почитать об OLAP системах. Некоторые вопросы отпадут сами собой ... В частности OracleXXX Data Warehousing Guide.
...
Рейтинг: 0 / 0
Только для самых умных - 3х мерные таблицы :-))
    #32169659
Fedorchenko Aleksey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гость
Т.е. в третьем измерении я хочу сохранять результат этого запроса, чтобы не считать его каждый раз
Зачем вычисляемые поля загонять в таблицу? Что будет, если исходные данные, на которых были основаны вычисления, изменятся?

Если уж неймется хранить эти вычисляемые поля в БД, то создай материализованное представление и обновляй его по мере надобности.

PS: ИМХО делать вложенные таблицы для использования вне pl/sql кода не есть хорошо.
...
Рейтинг: 0 / 0
Только для самых умных - 3х мерные таблицы :-))
    #32170136
Al'Exander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не очень понял, как это можно сделать с помощью вложенных таблиц)))...

Однако, все очень зависит.

Если селективность по полям index1 и index2 высокая -- до достаточно сделать индекс по ним, и все будет летать. Более того, предложенный запрос на count(*) будет выполняться ВООБЩЕ без обращения к таблице)))

select count(*) from test1 where a=:1 and b=:2

SELECT STATEMENT, GOAL = CHOOSE
SORT AGGREGATE
INDEX RANGE SCAN TST1 IDX_TEST1

Если же невысокая -- то materialized view (см. документацию про query rewrite)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Только для самых умных - 3х мерные таблицы :-))
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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