Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: library cache lock куда копать?  [new]
xtender
Member

Откуда: Мск
Сообщений: 5216
large5,

Во-первых, причем тут литералы? А во-вторых, не всегда нужно литералы заменять на бинды, иногда надо и наоборот.
4 июн 19, 00:18    [21901031]     Ответить | Цитировать Сообщить модератору
 Re: library cache lock куда копать?  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6710
Надфиль
и против использования конструкций when others then вместо тривиального no_data_found...

если они пишут
when others then null;

где попало, то тут только руки отрубать и голову...
хотя если такая конструкция используется например при загрузке всякого мусора из внешних источников, то вполне себе :)
правда все равно лучше в лог записать, что там было
4 июн 19, 05:57    [21901076]     Ответить | Цитировать Сообщить модератору
 Re: library cache lock куда копать?  [new]
Надфиль
Member

Откуда:
Сообщений: 107
alex-ls
when others then null;

написал же что 90% замена when no_data_found
в обработке, как правило, устанавливаются дефолтные значения перемененных которых в запросе не нашлось.
alex-ls
где попало, то тут только руки отрубать и голову...

но пишут где попало, и уже бывали прецеденты, что "замаскированная" ошибка приводила к неправильной работе и трудноуловимым ошибкам..
alex-ls
хотя если такая конструкция используется например при загрузке всякого мусора из внешних источников, то вполне себе :)
правда все равно лучше в лог записать, что там было

я и сам иногда могу использовать, когда нужно побыстрому что нибудь сделать.. но это исключения скорей.
4 июн 19, 09:07    [21901162]     Ответить | Цитировать Сообщить модератору
 Re: library cache lock куда копать?  [new]
Надфиль
Member

Откуда:
Сообщений: 107
xtender
large5,

Во-первых, причем тут литералы?

ну прям вот в мастерноте 1952395.1 по поводу ошибки как одна из основных причин ожиданий приводит проблема с литерами и шаред пулом. но я у себя ничего из перечисленного не обнаружил.
xtender
А во-вторых, не всегда нужно литералы заменять на бинды, иногда надо и наоборот.

ну это экзотика. в общем случае.
4 июн 19, 09:10    [21901165]     Ответить | Цитировать Сообщить модератору
 Re: library cache lock куда копать?  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6710
Надфиль
написал же что 90% замена when no_data_found

вот возникнет too_many_rows и разберись потом что там было :D

Вы просто пишите помогите с аргументами, т.е. они сами не понимают почему надо писать по-другому? Какие специальные аргументы нужны?

Надфиль
но пишут где попало, и уже бывали прецеденты, что "замаскированная" ошибка приводила к неправильной работе и трудноуловимым ошибкам..

вот за такое надо наказывать, особенно если разбирать этот говнокод потом другим приходится, на прошлой работе любили такое...
4 июн 19, 09:13    [21901168]     Ответить | Цитировать Сообщить модератору
 Re: library cache lock куда копать?  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6710
Надфиль
xtender
А во-вторых, не всегда нужно литералы заменять на бинды, иногда надо и наоборот.

ну это экзотика. в общем случае.

хочешь 2 разных плана для запроса, можно литералы разные поставить, вместо bind например :)
4 июн 19, 09:14    [21901169]     Ответить | Цитировать Сообщить модератору
 Re: library cache lock куда копать?  [new]
Надфиль
Member

Откуда:
Сообщений: 107
alex-ls
вот возникнет too_many_rows и разберись потом что там было :D

да там все что угодно может возникнуть. и никто об этом не узнает. во всяком случае сразу.
alex-ls
Вы просто пишите помогите с аргументами, т.е. они сами не понимают почему надо писать по-другому? Какие специальные аргументы нужны?

да эта просьба скорей жалоба во вселенную.
понимают. но гораздо проще же без переменных сочинить where потом в group by, да и Order by он мутирует. не меняя особо сути запроса. короче, чтобы написать правильный универсальный запрос нужно напрягаться.
этот аргумент перевешивает.
4 июн 19, 09:22    [21901175]     Ответить | Цитировать Сообщить модератору
 Re: library cache lock куда копать?  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6710
Надфиль
понимают. но гораздо проще же без переменных сочинить where потом в group by, да и Order by он мутирует. не меняя особо сути запроса. короче, чтобы написать правильный универсальный запрос нужно напрягаться.
этот аргумент перевешивает.

это не проще, ведь потом этот говнокод падает и его надо разгребать! кому хочется это делать? проще сразу нормально написать
4 июн 19, 10:10    [21901224]     Ответить | Цитировать Сообщить модератору
 Re: library cache lock куда копать?  [new]
Надфиль
Member

Откуда:
Сообщений: 107
alex-ls
это не проще, ведь потом этот говнокод падает и его надо разгребать! кому хочется это делать? проще сразу нормально написать

да я не спорю. результат потом один. проблемы везде.
4 июн 19, 10:12    [21901228]     Ответить | Цитировать Сообщить модератору
 Re: library cache lock куда копать?  [new]
xtender
Member

Откуда: Мск
Сообщений: 5216
Надфиль
ну прям вот в мастерноте 1952395.1
конкретно в твоем случае причину уже указали и она с литералами не связана, и, более того, проблемы с sql plan directives чаще на запросах с биндами и появляются. И бинды и литералы надо использовать с умом. Если нужно два разных курсора, то лучше сделать литералы, чем мучаться с хреново работающими adaptive фичами.
4 июн 19, 11:17    [21901324]     Ответить | Цитировать Сообщить модератору
 Re: library cache lock куда копать?  [new]
Надфиль
Member

Откуда:
Сообщений: 107
xtender
конкретно в твоем случае причину уже указали и она с литералами не связана

optimizer_adaptive_statistic?
мне показалось что это одно из мнений. вероятная причина.
xtender
И бинды и литералы надо использовать с умом. Если нужно два разных курсора, то лучше сделать литералы, чем мучаться с хреново работающими adaptive фичами.

в моей случае использование литералов уж точно не от большого ума.
из 1с, например, лазят в базу. объяснить "программисту" 1с правила доступа к ораклу не просто... а уж научить передавать переменные из псевдо языка......
но он почти уже справился.)
4 июн 19, 11:35    [21901347]     Ответить | Цитировать Сообщить модератору
 Re: library cache lock куда копать?  [new]
xtender
Member

Откуда: Мск
Сообщений: 5216
Надфиль
optimizer_adaptive_statistic?
мне показалось что это одно из мнений. вероятная причина.

Это говорит достаточно однозначно:
Надфиль
kglobtyp  126 
KGLOBTYD Optimizer Finding
4 июн 19, 12:05    [21901394]     Ответить | Цитировать Сообщить модератору
 Re: library cache lock куда копать?  [new]
Надфиль
Member

Откуда:
Сообщений: 107
xtender,
хорошо, спасибо.
поменяю вместе с глобальным патчем настройку.
4 июн 19, 12:12    [21901400]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Oracle Ответить