Использование Sql Baseline для Sql Statement - PullRequest
0 голосов
/ 21 января 2020

Я создаю Sql Базовую линию для определенного Sql Заявления, я знаю, Sql Профиль работает для определенного Sql_Id, то же самое для Sql Базовая линия

Другими словами, если Sql_id, измененный для оператора sql при каждом выполнении, поможет Sql Baseline заставить oracle использовать определенный план

1 Ответ

0 голосов
/ 21 января 2020

SQL Профили могут работать для других sql_id при условии, что они имеют одинаковую force_match_signature и вы используете "force_match => true" в команде принятия sql профиля. SQL Операторы будут иметь одинаковый force_match_signature, если они отличаются, скажем, переменными подстановки или другими незначительными изменениями, которые фактически не изменяют его семантически [грубо говоря].

A SQL Базовая линия плана будет работать только для того же точного идентификатора SQL_ID, и только в том случае, если оптимизатор может сгенерировать значение plan_hash_value для этого SQL с учетом текущих условий работы, когда анализируется SQL.

...