powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / baseline
4 сообщений из 4, страница 1 из 1
baseline
    #39839038
JDBA-N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите по какой причине oracle сам автоматически создает baseline для запроса?



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

optimizer_capture_sql_plan_baselines boolean FALSE

optimizer_use_sql_plan_baselines boolean TRUE
...
Рейтинг: 0 / 0
baseline
    #39839121
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / baseline
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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