powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Два примера помогите
4 сообщений из 29, страница 2 из 2
Два примера помогите
    #40133903
Melkomyagkii_newbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
juratorneo
Melkomyagkii_newbi
пропущено...


и кто же вас пустил в этой базе что-либо оптимизировать?


Я допускаю что вы любитель говорить не по делу. Кто допустил ?? Руководство. Уже как 1.5 лет. До этого я 2 года разрабатывал. Пишу процедуры. Использую курсоры, коллекции и тому подобное. Автоматизирую процессы. Разрабатываю на Oracle Apex. Зарабатываю хорошо. Однако речь идет не только об этих строках кода, а еще и об внутреннем объёме байтов которые база перелопатит прежде, чем обработает эти строки кода. Естественно это не единственное над чем я думаю. Это так высосать из пальца. Но капля в море от большого скрипта мне не помешает. Если высосу уже будет легче. Так что если есть опровержения обоснуй. Ибо не трать своё личное время.


Просто чтобы заниматься оптимизацией нужно хотя бы основы знать, которых вы очевидно не знаете. Жаль ваше руководство.
...
Рейтинг: 0 / 0
Два примера помогите
    #40133925
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
juratorneo

Я допускаю что вы любитель говорить не по делу. Кто допустил ?? Руководство. Уже как 1.5 лет. До этого я 2 года разрабатывал. Пишу процедуры. Использую курсоры, коллекции и тому подобное. Автоматизирую процессы. Разрабатываю на Oracle Apex. Зарабатываю хорошо. Однако речь идет не только об этих строках кода, а еще и об внутреннем объёме байтов которые база перелопатит прежде, чем обработает эти строки кода. Естественно это не единственное над чем я думаю. Это так высосать из пальца. Но капля в море от большого скрипта мне не помешает. Если высосу уже будет легче. Так что если есть опровержения обоснуй. Ибо не трать своё личное время.

Поищите где-нибудь Jonatan Lews "Cost-Based Oracle Fundamentals". Для начала.
...
Рейтинг: 0 / 0
Два примера помогите
    #40133926
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И Optimizing Oracle Performance by Cary Millsap, Jeff Holt.
Книги хотя и старые, но очень полезные.
...
Рейтинг: 0 / 0
Два примера помогите
    #40133927
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
juratorneo

Пока никак.
Никто сказать не может в чем разница. Но надо решать.


22432511
Ето разные запросы

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
SQL> ed
Wrote file afiedt.buf

  1  with DEKL (SEOD_DECL_ID) as (
  2  select 0 from dual union all
  3  select 1 from dual union all
  4  select 2 from dual union all
  5  select null from dual)
  6  , DEKL_SVYAZ_N (NUMDEKL_SEOD_BASE) as (
  7  select 0 from dual union all
  8  select 1 from dual union all
  9  select 3 from dual union all
 10  select null from dual)
 11  select *
 12  from DEKL A,DEKL_SVYAZ_N B
 13  --
 14  WHERE NVL(A.SEOD_DECL_ID, 0) = 0
 15  AND NVL(NUMDEKL_SEOD_BASE, 0) != 0
 16  AND NVL(A.SEOD_DECL_ID, 0) != NVL(NUMDEKL_SEOD_BASE, 0)
 17  --
 18  /*
 19  WHERE A.SEOD_DECL_ID IS NULL
 20  AND NUMDEKL_SEOD_BASE IS NOT NULL
 21  AND A.SEOD_DECL_ID <> NUMDEKL_SEOD_BASE
 22* */
SQL> /

SEOD_DECL_ID NUMDEKL_SEOD_BASE
------------ -----------------
           0                 1
           0                 3
null                         1
null                         3

SQL> ed
Wrote file afiedt.buf

  1  with DEKL (SEOD_DECL_ID) as (
  2  select 0 from dual union all
  3  select 1 from dual union all
  4  select 2 from dual union all
  5  select null from dual)
  6  , DEKL_SVYAZ_N (NUMDEKL_SEOD_BASE) as (
  7  select 0 from dual union all
  8  select 1 from dual union all
  9  select 3 from dual union all
 10  select null from dual)
 11  select *
 12  from DEKL A,DEKL_SVYAZ_N B
 13  --
 14  /*
 15  WHERE NVL(A.SEOD_DECL_ID, 0) = 0
 16  AND NVL(NUMDEKL_SEOD_BASE, 0) != 0
 17  AND NVL(A.SEOD_DECL_ID, 0) != NVL(NUMDEKL_SEOD_BASE, 0)
 18  */
 19  --
 20  WHERE A.SEOD_DECL_ID IS NULL
 21  AND NUMDEKL_SEOD_BASE IS NOT NULL
 22* AND A.SEOD_DECL_ID <> NUMDEKL_SEOD_BASE
SQL> /

no rows selected

SQL>



сначала определитесь надо ли менять то что работает

если решите поменять (даж для себя, чтоб понять как оно работает)
надо селект изменить на "еквивалентный"

следуя/учитывая 22432607

потом сравните
1) время выполнения
2) план выполнения
3) статистику IO
4) еще что-то

зы
"сколько байт попадет в курсор на обработку" допускаю что считать не придется

.....
stax
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Два примера помогите
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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