Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / baseline / 4 сообщений из 4, страница 1 из 1
19.07.2019, 08:53
    #39839038
JDBA-N
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
baseline
подскажите по какой причине oracle сам автоматически создает baseline для запроса?



oracle 12.2 EE
...
Рейтинг: 0 / 0
19.07.2019, 09:22
    #39839048
KoTTT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
baseline
optimizer_capture_sql_plan_baselines?
...
Рейтинг: 0 / 0
19.07.2019, 09:25
    #39839051
JDBA-N
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
baseline
KoTTT,

optimizer_capture_sql_plan_baselines boolean FALSE

optimizer_use_sql_plan_baselines boolean TRUE
...
Рейтинг: 0 / 0
19.07.2019, 11:54
    #39839121
SeaGate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
baseline
JDBA-N,

Такое возможно при наличии других baseline:
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgsql/managing-sql-plan-baselines.html#GUID-B3262755-C4A0-4B37-891B-6B3C2ACC6C45 The OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES parameter does not control the automatic addition of newly discovered plans to a previously created SQL plan baseline.
Небольшой пример:
Код: 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.
SQL> create table spm_test(id int);

Table created.

SQL>
SQL> sho parameter optimizer_capture

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
optimizer_capture_sql_plan_baselines boolean     FALSE
SQL> col sql_text for a35
SQL> col plan_name for a30
SQL> select sql_text, plan_name, origin, enabled, accepted
  2    from dba_sql_plan_baselines
  3   where signature = dbms_sqltune.sqltext_to_signature('select * from spm_test where id = 0');

no rows selected

SQL>
SQL> select * from spm_test where id = 0;

no rows selected

SQL>
SQL> var loaded number
SQL> set autop on
SQL> exec :loaded:=dbms_spm.load_plans_from_cursor_cache(dbms_sql_translator.sql_id('select * from spm_test where id = 0'))

PL/SQL procedure successfully completed.


    LOADED
----------
         1

SQL>
SQL> select sql_text, plan_name, origin, enabled, accepted
  2    from dba_sql_plan_baselines
  3   where signature = dbms_sqltune.sqltext_to_signature('select * from spm_test where id = 0');

SQL_TEXT                            PLAN_NAME                      ORIGIN                        ENA ACC
----------------------------------- ------------------------------ ----------------------------- --- ---
select * from spm_test where id = 0 SQL_PLAN_c266nn652fxk2f2fc655a MANUAL-LOAD-FROM-CURSOR-CACHE YES YES

SQL>
SQL> create index spm_test_i on spm_test(id);

Index created.

SQL>
SQL> select * from spm_test where id = 0;

no rows selected

SQL>
SQL> select sql_text, plan_name, origin, enabled, accepted
  2    from dba_sql_plan_baselines
  3   where signature = dbms_sqltune.sqltext_to_signature('select * from spm_test where id = 0');

SQL_TEXT                            PLAN_NAME                      ORIGIN                        ENA ACC
----------------------------------- ------------------------------ ----------------------------- --- ---
select * from spm_test where id = 0 SQL_PLAN_c266nn652fxk2a7f4712e AUTO-CAPTURE                  YES NO
select * from spm_test where id = 0 SQL_PLAN_c266nn652fxk2f2fc655a MANUAL-LOAD-FROM-CURSOR-CACHE YES YES


См. также: Managing the SPM Evolve Advisor Task
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / baseline / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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