Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Оптимизация времени выполнения запроса / 10 сообщений из 10, страница 1 из 1
09.06.2003, 09:32:26
    #32179262
LA
LA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация времени выполнения запроса
Добрый день! Проблема: сильно долго отрабатывает запрос. Поделитесь опытом построения запросов, чтоб он отрабатывал за минимальное время!
...
Рейтинг: 0 / 0
09.06.2003, 10:36:30
    #32179288
Vladimir_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация времени выполнения запроса
Я многих встречал на этом форуме и ясновидящих, и предсказателей но не до такой же степени!
...
Рейтинг: 0 / 0
09.06.2003, 10:49:28
    #32179304
RedPank
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация времени выполнения запроса
Перед запросом выполни команду

Код: plaintext
TRUNCATE ALL TABLES 


;-))

Все будет просто летать ...
...
Рейтинг: 0 / 0
10.06.2003, 10:07:23
    #32180207
Виктор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация времени выполнения запроса
RedPank , ты просто зверь :-))

LA , для того, чтобы оптимизировать конкретный запрос, надо хотя-бы видеть сам текст запроса и план его выполнения. А общие рекомендации по оптимизации есть в документации по ораклу.
...
Рейтинг: 0 / 0
10.06.2003, 10:27:07
    #32180239
denim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация времени выполнения запроса
1. поиграть с параметрами - выяснить, на каком тормозит.
2. Если не поможет включить trace на сессию.
3. Обработать полученный trace программой tkprof
...
Рейтинг: 0 / 0
10.06.2003, 13:44:29
    #32180504
whois
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация времени выполнения запроса
где-то на форуме уже был ответ - "включить параметр fast = true", ну и еще query_min_time = true добавить бы )))))))))))))))
...
Рейтинг: 0 / 0
10.06.2003, 13:48:19
    #32180519
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация времени выполнения запроса
Стараться по возможности использовать таблицу DUAL, на ней запросы работают гарантированно бысто:-)
...
Рейтинг: 0 / 0
10.06.2003, 14:01:09
    #32180536
Angel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация времени выполнения запроса
2 Violina
Это шутка или серьезно ?
...
Рейтинг: 0 / 0
10.06.2003, 14:11:33
    #32180552
MaxU
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация времени выполнения запроса
> Поделитесь опытом построения запросов, чтоб он отрабатывал за минимальное время!

Violina дала грамотный совет, но не объяснила его!

существует популярный "design pattern" - кэширование результатов

в вашем случае вам необходимо сначала подсчитать результаты, а потом выдавать в запросах "кэшированные" значения, т.е.
Код: plaintext
1.
2.
 
select  87123651  as CalculatedVal from dual;


что даст СУЩЕСТВЕННЫЙ прирост в производительности!!!

если же запрос должен вернуть больше одной записи, существует другой шаблон (pattern):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 
select  87123651  as CalculatedVal from dual
union all select  87123652  as CalculatedVal from dual
union all select  87123653  as CalculatedVal from dual
union all select  87123654  as CalculatedVal from dual
union all select  87123655  as CalculatedVal from dual
union all select  87123656  as CalculatedVal from dual
union all select  87123657  as CalculatedVal from dual
union all select  87123658  as CalculatedVal from dual
union all select  87123659  as CalculatedVal from dual
union all select  87123660  as CalculatedVal from dual
union all select  87123661  as CalculatedVal from dual


кстати, данная техника обладает целым рядом других неоспоримых преимуществ:
1. отпадает необходимость использования индексов !
2. скорость выполнения любых запросов будет оптимальной, благодаря постоянному присутствию в кеше таблицы DUAL !
3. минимальное использование IO
4. нагрузка на временные сегменты ("temporary tablespace") минимальна !
5. можно не собирать статистики !
этот список можно продолжать до бесконечности...

мой ответ - это собственно теоретическое и концептуальное обоснование совета, данного Violina, с коим я безусловно согласен.

> Проблема: сильно долго отрабатывает запрос.
используя данные техники, все ваши запросы будут отрабатывать СИЛЬНО быстро!

> Поделитесь опытом построения запросов, чтоб он отрабатывал за минимальное время!
я надеюсь наш опыт, примененный вами на практике, поможет вам добиться успеха !

искренне ваш
MaxU
...
Рейтинг: 0 / 0
10.06.2003, 14:49:31
    #32180601
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация времени выполнения запроса
конечно шутка в ответ на

где-то на форуме уже был ответ - "включить параметр fast = true", ну и еще query_min_time = true добавить бы )))))))))))))))
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Оптимизация времени выполнения запроса / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]