|
|
|
что скажет купечество об использовании временных таблиц
|
|||
|---|---|---|---|
|
#18+
Концептуальный вопрос о временных таблицах в 8i: есть нужда на ходу создавать временные таблицы в процедурах , насколько я понимаю для этого приходится использовать динамический скл , но тогда в теле процедуры нельзя обращатся и выполнять ДМЛ операции над этой таблицей, тк на этапе компиляции такой таблицы не существует и нету параметра для принудительной компиляции типа FORCE как для вьюшек... т.е приходится городить заборы динамического скля в дальнейшем для работы с этими временными таблицами ,которые вроде бы призваны облегчить жизнь а не усложнять код ... в мсскле вон все просто решено- можно выполнять DDL прямо в теле процедуры ... в 9ке что нибудь изменилось к лучшему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2003, 15:50 |
|
||
|
что скажет купечество об использовании временных таблиц
|
|||
|---|---|---|---|
|
#18+
причина создания на ходу временных таблиц - измеяющаяся структура? использовать collections не пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2003, 16:02 |
|
||
|
что скажет купечество об использовании временных таблиц
|
|||
|---|---|---|---|
|
#18+
не пробовал - может это действительно выход . но база типа DSS с множеством часто изменяемых запросов . временные таблицы создаются достаточно объемные сотни тысяч или неск миллионов строк , куда оракл разместит такие объемные коллекции? если диски то возникает проблема в скорости и невозможности построить индексы на такие структуры , если в память что это будет? PGA область , лардж пул? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2003, 16:09 |
|
||
|
что скажет купечество об использовании временных таблиц
|
|||
|---|---|---|---|
|
#18+
Не забудьте: временные таблицы оракула (create global temporary table) хранятся во временных сегментах (и прокачиваются через PGA). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2003, 17:19 |
|
||
|
что скажет купечество об использовании временных таблиц
|
|||
|---|---|---|---|
|
#18+
Откажитесь от процедур и временных таблиц, и конструируйте сложные, часто меняющиеся запросы на приложении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2003, 17:23 |
|
||
|
что скажет купечество об использовании временных таблиц
|
|||
|---|---|---|---|
|
#18+
to Chira: причина создания на ходу временных таблиц - просто неохота плодить на сервере много постоянных таблиц, редко используемых , для разных запросов ( почти adhoc) . то есть есть запрос выполняется раз в 2 месяца расчетчиками , логично создать таблицу в контексте пользователя выполнить расчет и забыть про эту таблицу, если оставлять постоянно такие таблицы то могут возникнуть проблемы с одновременной работой с такой таблицей нескольких расчетчиков - значит менять структуру таблицы , добавлять ненужные поля? временная таблица как раз должна решать такие проблемы ... to Skott Tiger: Вот и на металинке дан такой "ценный" совет . но запросы пишутся очень навороченные и не всегда оптимизатор с ними справляется лучшим образом , а где справляется то раз в год еще и меняет план запроса кардинально(CBO) , так что этап занимающий 2 минуты с каким нибудь хешджойном превращается в полчаса с нестедлупом ... выход или жестко закреплять план запроса хинтами -но надо обучать программистов ими пользоватся , это не всегда подходит ,или просто просить сохранять промежуточные результаты в временные таблицы , в этом случае от кодеров не требуется особого знания привередливого отпимизатора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2003, 19:29 |
|
||
|
что скажет купечество об использовании временных таблиц
|
|||
|---|---|---|---|
|
#18+
а PL/SQL таблицы? создать глобальные типы обьектных таблиц в базе а в функциях обьявлять таблицы такого типа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2003, 20:29 |
|
||
|
что скажет купечество об использовании временных таблиц
|
|||
|---|---|---|---|
|
#18+
O ispolzovanii temporary tablespaces dliy zaprosov as-hos : 1) eto slogniye select ili temporary tables - nevagno - Oracle budet ispolzovat temporary segments. 2) pri primenenii global temporary tables (GTT) (lucshe transaction specific, chem session) Oracle budet ispolzovat OTDELNUYU MEMORY v PGA kotoraya OSVOBOGDAETSYA posle zaversheniya obpabotki zaprosa 3) v sluchae navorochennih select s sortirovkamy Oracle budet ispolzovat SORT_AREA kotoraya NE OSVOBOGDAETSYA posle zaversheniya sortirovki!!! posemu pri bolshom kolichestve sessiy PGA memory (dlia dedicated ili shared servers) prosto budet s'edena do tla (esly v celyah uvelichebniya proizvoditelnosty budet ustanovleno bolshoe znachenie parametra SORT_AREA_SIZE) chto kak pravilo harakterno dlya DSS system i mi potehonku vlezaem v swaping VNE AZAVISIMOSTY ISPOLZUEM MI SORT AREA SEYCHAS ILI NET. posemu i by sovetoval primenyt GTT a ne slognie zaprosy. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2003, 22:30 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32124793&tid=1991363]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
187ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 483ms |

| 0 / 0 |
