Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Similar statements  [new]
Adel2
Guest
Ребята,
вот случайно нашел что база использует подобные запросы, что мне теперь надо делать?

select * from A where surname like 'Pupk%';
select * from A where surname like 'Vasil%';
select * from A where surname like 'Semeno%';
....
...
где то порядка 300 разных запросов, которые заново компилируются..

посмотрел по рекомендации,пишет мол надо поменять cursor_sharing parameter
у меня стоит EXACT. соответственно выплывают вопросы:

1.на что его(cursor_sharing) менять и 2.стоит ли вообще это делать, 3.что изменится, не порушит ли базу?
23 апр 07, 09:52    [4055313]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
evostr
Member

Откуда: Екатеринбург
Сообщений: 1278
Adel2
Ребята,
вот случайно нашел что база использует подобные запросы, что мне теперь надо делать?

select * from A where surname like 'Pupk%';
select * from A where surname like 'Vasil%';
select * from A where surname like 'Semeno%';
....
...
где то порядка 300 разных запросов, которые заново компилируются..

Кто-то жалуется на производительность?

Adel2
посмотрел по рекомендации,пишет мол надо поменять cursor_sharing parameter

Кто пишет?

Adel2
у меня стоит EXACT. соответственно выплывают вопросы:

1.на что его(cursor_sharing) менять и 2.стоит ли вообще это делать, 3.что изменится, не порушит ли базу?

1. На что менять - написано в документации.
2. Стоит ли делать - имхо, нет. По крайней мере, пока на вопросы, написанные выше, не ответите.
3. Порушится - не порушится, но проблемы возникнуть могут.
23 апр 07, 10:03    [4055350]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
Adel2
1.на что его(cursor_sharing) менять и 2.стоит ли вообще это делать, 3.что изменится, не порушит ли базу?
начать надо с того, что изучить возможность корректно переписать запросы в приложениях. Выставлять cursor_sharing - последний вариант, может быть чревато, особенно в старых версиях (8,9). Если доступа к исходникам нет, то как минимум перепроверять на тестовой базе, что все приложения будут продолжать работать.
23 апр 07, 10:14    [4055410]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Adel2
Guest
Никто не жалуется на производительнсоть официально, но такой менталитет у пользователей,
молчать, пока уж совсем плохо не станет. Но я вижу что запросы в приложении сталее медленнее.

Описывается в доке, что если мол много подобных запросов, то нужно использовать bind variables или же стоит поменять cursor_sharing parameter на FORCE (кстати Oracle у меня 9ка)

1. В документации то пишет что можно менять на FORCE или SIMILAR. но я не уверен за последсвия
2. На вопросы ответил
3. Подробнее на возможные проблемы можете дать ссылку?
23 апр 07, 10:18    [4055435]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
Adel2
Но я вижу что запросы в приложении сталее медленнее.
В принципе это, конечно, не достаточное условие для такого вывода... Для начала неплохо было бы проанализировать, за счет чего замедление. Хотя переписать такие запросы по-любому стоит.

Adel2
Описывается в доке, что если мол много подобных запросов, то нужно использовать bind variables или же стоит поменять cursor_sharing parameter на FORCE (кстати Oracle у меня 9ка)
Повторюсь - с этого и стоит начать!

Adel2
Подробнее на возможные проблемы можете дать ссылку?
Доступ на Металинк есть? посмотрите количество пофиксенных багов при такой установке параметра...
23 апр 07, 10:31    [4055505]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Elic
Member

Откуда:
Сообщений: 29990
Adel2
3. Подробнее на возможные проблемы можете дать ссылку?
STFF cursor_sharing + LPAD/RPAD/SUBSTR/... + Клиент
23 апр 07, 10:58    [4055644]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Adel2
Guest
Спасибо за совет

1. У меня нету доступа к исходникам и к тому же я не разработчик, надеюсь они меня поймут когда я им скажу измените плиз запросы такого рода
select * from A where surname like 'text%'; на запросы с биндами.

непонятно мне тут одно, получается что они то и используют bind variables, так как фамилия вбивается в текстовое поле, последнее же является переменным.. запутался :\

2. Доступ на металинк есть, скиньте пожалуйста линк, если есть.. ну и я сам попробую найти.. тяжело иногда дается найти что либо
23 апр 07, 11:08    [4055694]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
kennethr
Member

Откуда:
Сообщений: 175
Неужели трудно посмотреть форум? Про бинд переменные
Adel2
получается что они то и используют bind variables, так как фамилия вбивается в текстовое поле, последнее же является переменным

С таким уровнем знаний следует очень осторожно общаться с разработчиками. Как минимум засмеют.
23 апр 07, 11:26    [4055816]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
kennethr
Про бинд переменные
Честно говоря, странный тынц...

kennethr
С таким уровнем знаний следует очень осторожно общаться с разработчиками. Как минимум засмеют.
Учитывая, что они сами не используют бинды, то... Все возможно :)

Adel2
непонятно мне тут одно, получается что они то и используют bind variables, так как фамилия вбивается в текстовое поле, последнее же является переменным.. запутался :\
Переменное(в смысле меняющееся) поле и переменная - это разные вещи :) Может быть поможет понять другое название - переменные подстановки?
например, почитать

Adel2
2. Доступ на металинк есть, скиньте пожалуйста линк, если есть.. ну и я сам попробую найти.. тяжело иногда дается найти что либо
обычный поиск по словам -"cursor_sharing" "FORCE". Это, к сожалению, не тот случай, когда найти сложно...
23 апр 07, 11:55    [4056029]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Adel2
Guest
Хорошо тогда я у них попрошу исходники на эти запросы, к пимеру вышлют они мне
on_search:

select * from A where surname like 'field_surname%';

и все, что где менять?
поменять на следущее?:

B1=field_surname;
select * from A where surname like ':B1+'%'';

извините за неадекватьность, но хочется добить эту мысль про бинды.
23 апр 07, 11:59    [4056065]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
Adel2
извините за неадекватьность, но хочется добить эту мысль про бинды.
Как насчет сходить по ссылке?...
23 апр 07, 12:04    [4056104]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Adel2
Guest
2Janny
спасибо, сходил по ссылке, почитал.

Дело в том что автор пишет заменить
select * from emp where empno=1234
и
select * from emp where empno=5678
на
select * from emp where empno=:x
тут он уже на примере показывает что на что менять

а на что менять
select * from emp where emp_name like 'textfield1%';


А точнее можно ли увидеть пример сравнения плохого кода исходника с хорошим кодом исходника?
23 апр 07, 12:13    [4056170]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
Adel2
а на что менять
select * from emp where emp_name like 'textfield1%';
не поверите, но все аналогично :
select * from emp where emp_name like :v;
Adel2
А точнее можно ли увидеть пример сравнения плохого кода исходника с хорошим кодом исходника?
Э... Это Вы о чем?
23 апр 07, 12:17    [4056206]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8132
Adel2
а на что менять
select * from emp where emp_name like 'textfield1%';
Например на
select * from emp where emp_name like :x;
23 апр 07, 12:18    [4056211]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Adel2
Guest
Ok, сорри, гоню
Щас напишу девелоперам, и не пуха мне,
а то они злые :(
23 апр 07, 12:39    [4056349]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
Adel2
Щас напишу девелоперам, и не пуха мне,
а то они злые :(
А Вы админ, да? Странные у Вас взаимоотношения :) Необычные :)
23 апр 07, 12:41    [4056364]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Adel2
Guest
Да, я Админ.
А я думал у всех такие взаимоотношения. Девелоперы "обожают" ДБА :)
Блин, большинство проблем решаю, но вот с Тюнингом у меня проблемы.
Вот знаю что базы медленные, а где копать не знаю :(
Статспак открыл, сразу же "закрыл". т.е не понял что там смотреть.
Звонит пользователь, говорит разговаривал с Саппортом, тот мол сказал что база медленно работает, с приложением нет проблем. а где в базе искать... :(
23 апр 07, 13:10    [4056587]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Adel2
Guest
Написал,
говорят мол знают о проблеме,
но нету ресурсов для переделования этого :\
23 апр 07, 14:03    [4057027]     Ответить | Цитировать Сообщить модератору
 Re: Similar statements  [new]
Adel2
Guest
Возвращаясь к этой теме,
я только недавно начал изучать статспак, поэтому прошу простить если что то не то ляпну.
Вот сделал снапшот за один час, он показывает мол
 Shared Pool Statistics        Begin   End
                               ------  ------
    % SQL with executions>1:   50.38   31.95
Вопрос можно ли вытянуть все эти значения из таблицы? если да то как называется таблица?
мне нужно именно это поле: % SQL with executions>1
снапшоты ведутся уже несколько лет без удаления, хотелось бы посмотреть графу использования биндов
25 апр 07, 11:10    [4066854]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить