Навигация
Главное меню
Главная
Новости
Веб сервисы
Онлайн сервисы
Статьи
FAQ
Наш опыт
Файлы
Демо-версия ИС ПАРУС 8
Прайс-лист "Парус - Предприятие 8"
Форум
О проекте
Результаты опросов
Ссылки
Карта сайта
Добавить в
Подписка на рассылку
Авторизация
Нас считают
Статистика сайта
5865 всего пользователей
0 сегодня
0 на этой неделе
0 в этом месяце
Последний: kapriolozy
Реклама
Кто в онлайне
Посетителей нет.
 
Главная arrow Форум
 
Форум
Добро пожаловать, Гость
Привет! Вход или Регистрация.    Забыли пароль?
Тормоза в оборотке по ТМЦ (1 просматривает) (1) Гость
Вниз Ответить Избранное: 0
Сообщения темы: Тормоза в оборотке по ТМЦ
#13
Alexander (Посетитель)
Junior Boarder
Постов: 39
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Тормоза в оборотке по ТМЦ 20 г. назад  
Здравствуйте!
Ведомость генерируется около часа по всем товарам и около минуты по одному товару. Потом выхожу на хоз операции, это ещ около минуты из каждой строки. Бухгалтер в бешенстве, говорит раньше такого безобразия не было.
Статистику собираю каждый вечер.
Отловил запрос по которому выбираются хоз операции из оборотки:
Код:

SELECT * FROM V_ECONOPRS M where COMPANY = 1527001 and (M.OPERATION_DATE >= TO_DATE('18/10/2004', 'dd/mm/yyyy')) and (M.OPERATION_DATE <= TO_DATE('18/10/2004', 'dd/mm/yyyy')) and (((M.AGENT_FROM_RN in (select RN from AGNLIST where AGNABBR = 'Имя'))) or ((M.AGENT_TO_RN in (select RN from AGNLIST where AGNABBR = 'Имя;')))) and M.RN in (select M.PRN from V_OPRSPECS_SHADOW M where COMPANY = 1527001 and (M.OPERATION_DATE >= TO_DATE('18/10/2004', 'dd/mm/yyyy')) and (M.OPERATION_DATE <= TO_DATE('18/10/2004', 'dd/mm/yyyy')) and (M.NOMENCLATURE in (select RN from DICNOMNS where NOMEN_CODE = '1c')) and (M.NOMEN_PARTNO = 'ПАРТИЯ_3980') and ((M.ACCOUNT_DEBIT in (select RN from DICACCS where ACC_NUMBER = '41/1')) and M.BALUNIT_DEBIT is null) union select M.PRN from V_OPRSPECS_SHADOW M where COMPANY = 1527001 and (M.OPERATION_DATE >= TO_DATE('18/10/2004', 'dd/mm/yyyy')) and (M.OPERATION_DATE <= TO_DATE('18/10/2004', 'dd/mm/yyyy')) and (M.NOMENCLATURE in (select RN from DICNOMNS where NOMEN_CODE = '1c')) and (M.NOMEN_PARTNO = 'ПАРТИЯ_3980') and ((M.ACCOUNT_CREDIT in (select RN from DICACCS where ACC_NUMBER = '41/1')) and M.BALUNIT_CREDIT is null)) order by M.operation_date, M.operation_pref, M.operation_numb
84 секунды выполняется... Это нормально? Мне кажется, не очень. Помогите пожалуйста. Если надо, конфиги, распределение по дискам и тейбл спейсам - не вопрос, распишу подробно.<br><br>Сообщение отредактировано: Alexander, в: 2004/12/07 11:40
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
 
Последнее редактирование: 14.05.2010 10:09 Редактировал Mit.
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
#14
Mit (Посетитель)

Дата рождения:
В ответ на:Тормоза в оборотке по ТМЦ 20 г. назад  
1.Статистику собираете так как у нас описано в статье http://www.parus-online.ru/content/view/27/25/ ?
2. В init.ora optimizer_mode=CHOOSE?
3. Во вьюхах V_ECONOPRS и V_OPRSPECS_SHADOW есть ли какие либо хинты?
4. В sqlplus прогоняем скрипт utlxplan.sql. После этого в этом же окне
set autotrace traceonly и прогоняете Ваш запрос. Все что идет после слова Statistics запостите сюда.
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
 
Последнее редактирование: 14.05.2010 10:10 Редактировал Mit.
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
#15
Alexander (Посетитель)
Junior Boarder
Постов: 39
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
В ответ на:Тормоза в оборотке по ТМЦ 20 г. назад  
1. Да
2. В моём INIT.ORA такого параметра нет вообще.
3. Что такое хинты? В "Explain Plan" пишет на V_ECONOPRS "GOAL = HINT: RULE", на V_OPRSPECS_SHADOW "GOAL = CHOOSE"
4. Statistics
----------------------------------------------------------
28 recursive calls
0 db block gets
164273 consistent gets
164266 physical reads
60 redo size
1754 bytes sent via SQL*Net to client
314 bytes received via SQL*Net from client
1 SQL*Net roundtrips to/from client
2 sorts (memory)
0 sorts (disk)
0 rows processed
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
 
Последнее редактирование: 14.05.2010 10:10 Редактировал Mit.
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
#16
Mit (Администратор)
Администратор
Постов: 154
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
В ответ на:Тормоза в оборотке по ТМЦ 20 г. назад  
если в инит.ора нет этого параметра значит значение взято по умолчанию (CHOOSE) в принципе так и должно быть. Откройте вьху V_ECONOPRS и уберите там из запросов хинт rule, те строки ввида /*+ RULE */ . Что такое хинты слишком долго объяснять, почитайте документацию. После того как уберете хинт выполните запрос еще раз со статистикой. Статистику приведие сюда. Удачи.
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
 
Последнее редактирование: 14.05.2010 10:11 Редактировал Mit.
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
#17
Alexander (Посетитель)
Junior Boarder
Постов: 39
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
В ответ на:Тормоза в оборотке по ТМЦ 20 г. назад  
О спасибо, Добрый Человек!!! Выполнилось просто мгновенно!!!!!!!

Statistics
----------------------------------------------------------
28 recursive calls
8 db block gets
39 consistent gets
9 physical reads
0 redo size
1754 bytes sent via SQL*Net to client
314 bytes received via SQL*Net from client
1 SQL*Net roundtrips to/from client
58 sorts (memory)
0 sorts (disk)
0 rows processed

Во те на.... Это что ж, везде надо убирать эти /*RULE*/ или как?

З.Ы. И это мне не могли сказать на ихней Г. линии!!! слов нет блин
З.Ы.Ы. Нашёл ещё в V_DOCLINKS_INOUT_OUT какие-то /*+ ORDERED */<br><br>Сообщение отредактировано: Alexander, в: 2004/12/07 15:47
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
 
Последнее редактирование: 14.05.2010 10:12 Редактировал Mit.
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
#18
Mit (Администратор)
Администратор
Постов: 154
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
В ответ на:Тормоза в оборотке по ТМЦ 20 г. назад  
Оракл может использовать два оптимизатора RBO и CBO. Что это такое Вы я думаю без труда сможете найти в инете. Так вот использование хинта rule говорит Ораклу что надо использовать RBO что есть по моему мнению неправильно по двум причинам: 1) CBO в 90 процентов случаев выбирает правильный план выполнения запроса и Вам не надо будет задумываться в каком запросе какой хинт Вы вставили, 2) в 10-й версии Оракла RBO отсутсвует.
Почему в коде Паруса встречается хинт rule я не знаю, но опять мое мнение что использовать любые хинты в запросах не совсем правильно и опыт показывает что на большистве запросов Паруса план выполнения который выбирает оракл на основе статистики наиболее оптимальный.

P.S. Все таки рекомендую если интересно прочитать про оптимизатор в Оракле и про хинты.
P.S.S. Рад что удалось Вам помочь.
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
 
Последнее редактирование: 14.05.2010 10:13 Редактировал Mit.
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
Вверх Ответить

Работает на FireBoard.
Русская редакция: www.freedom-ru.net & www.joomlao.com ver.1.0.4

получить последние сообщения прямо на Ваш рабочий стол
 
Статистика
Наши решения
irbis1
Наши спонсоры
irbis1
Последнее
Популярное
TOP-5 файлов
Значок файла Информация о том, кто и когда изменил хозоперацию (5839)
Значок файла Утилита импорта и утилита экспорта oracle-dbf (3543)
Значок файла Перенос данных раздела "Географические понятия" из организации в организацию в рамках одной базы (3274)
Значок файла Пример использования VBscript 2 (с формированием сводной таблицы в Excel) (3143)
Значок файла Пример процедуры для работы c веб-сервисом "Банковские учреждения" (3130)
Последние файлы
Значок файла Скрипты создания новой БД для Парус 8 (1904)
Значок файла Пример процедуры для работы c веб-сервисом "Банковские учреждения" (3130)
Значок файла Функция определения количества рабочих дней по исполнению и графику работы (1952)
Значок файла Web расширение "Товарные запасы он-лайн" для ИС "Парус-8" (2184)
Значок файла Копирование прав доступа из роли в роль (вариант 2) (2552)
ПАРУС Онлайн Неофициальный сайт сообщества системы Парус-8 © 2024
pokie games slot machine online poker game