|
|
|
Только для самых умных - 3х мерные таблицы :-))
|
|||
|---|---|---|---|
|
#18+
Есть ли возможность создавать 3х мерные таблицы? Насколько я понимаю это можно реализовать с помощью вложенных подтаблиц. Есть ли еще какой-нибудь способ? Кроме того интересует производительность. Будет ли это работать с приемлемой скоростью? Скажем так будет ли выборка по вложенным таблицам/3-у измерению работать быстрее чем select count(*) from table where index1=a and index2=b index1 и index2 - это числовые поля table - содержит 2млн записей. Т.е. в третьем измерении я хочу сохранять результат этого запроса, чтобы не считать его каждый раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 08:51:10 |
|
||
|
Только для самых умных - 3х мерные таблицы :-))
|
|||
|---|---|---|---|
|
#18+
>Есть ли возможность создавать 3х мерные таблицы? Есть > можно реализовать с помощью вложенных подтаблиц. Есть ли еще какой-нибудь способ? кроме Nested table можно varray, object type >Будет ли это работать с приемлемой скоростью? Это можно только замерить. Причем на реальных обьемах данных. Остальное - домыслы и гадания. Надеюсь присутствующие здесь разработчики расскажут подробнее. >Т.е. в третьем измерении я хочу сохранять результат этого запроса, чтобы не считать его каждый раз. Фактически для данных вложенной таблицы создается отдельный сегмент и сервер все равно будет его сканировать на предмет отбора нужного подмножества. Так что только проверять экспериментально... Учтите, что некоторые полезные вещи не работают с вложенными таблицами, например LogMiner. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 09:45:04 |
|
||
|
Только для самых умных - 3х мерные таблицы :-))
|
|||
|---|---|---|---|
|
#18+
>>Есть ли еще какой-нибудь способ? Я думаю Гостю следует почитать об OLAP системах. Некоторые вопросы отпадут сами собой ... В частности OracleXXX Data Warehousing Guide. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 09:59:18 |
|
||
|
Только для самых умных - 3х мерные таблицы :-))
|
|||
|---|---|---|---|
|
#18+
Гость Т.е. в третьем измерении я хочу сохранять результат этого запроса, чтобы не считать его каждый раз Зачем вычисляемые поля загонять в таблицу? Что будет, если исходные данные, на которых были основаны вычисления, изменятся? Если уж неймется хранить эти вычисляемые поля в БД, то создай материализованное представление и обновляй его по мере надобности. PS: ИМХО делать вложенные таблицы для использования вне pl/sql кода не есть хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 14:56:07 |
|
||
|
Только для самых умных - 3х мерные таблицы :-))
|
|||
|---|---|---|---|
|
#18+
Я не очень понял, как это можно сделать с помощью вложенных таблиц)))... Однако, все очень зависит. Если селективность по полям 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) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 20:44:19 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=2773&tid=1990324]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
92ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 447ms |

| 0 / 0 |
