(alter session set "_optim_peek_user_binds" = true).
Выполняем запрос "select * from t where c1 = : p1", в плане этого запроса в секции outline видим "OPT_PARAM('_optim_peek_user_binds' 'false')".
Аналогично "select /*+opt_param('_optim_peek_user_binds' 'true')*/* from t where c1 = : p1".
Baseline, profile, patch не применяется к данному запросу (секция note это подтверждает).
В чем может быть причина?
А это первый парс этого запроса?
Для начала хотелось бы увидеть оба полных примера из sqlplus например на dual: полный лог тест кейса с полным планом (format=>'advanced' )
да, в sqlplus работает)
А в чем не работает?
Toad for Oracle
есть не нулевая вероятность что тоад что-то еще делает перед выполнением... например модифицирует твой запрос
Может это? https://support.quest.com/toad-for-oracle/kb/4286771/how-to-add-optimizer-hint-rule-for-toad-when-specific-queries-hang You can add different hints to specific DLL queries or overall queries (recommended). To add the /*+ RULE */ optimizer hint: 1) Select View | Options | Oracle | Optimizer hints. 2) On the right, locate the "All other" drop down box. Select the appropriate hint /*+ RULE */ from the list. 3) Select "Apply" and "OK" to accept the changes. 4) Close Toad and restart the application for the changes to take affect.
Обсуждают сегодня