powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / план выполнения запроса
23 сообщений из 23, страница 1 из 1
план выполнения запроса
    #39554812
boris_borisych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня pl\sql developer 11.04
подскажите пожалуйста куда нажать что бы можно было посмотреть план выполняемого запроса?
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554817
Алымов Анатолий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
F5
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554837
boris_borisych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алымов Анатолий,

Спасибо, уже нашёл

Вот план выполнения запроса:

Description Object owner Object name Cost Cardinality Bytes
SELECT STATEMENT, GOAL = ALL_ROWS 47 456 49 248
HASH GROUP BY 47 456 49 248
NESTED LOOPS 46 456 49 248
NESTED LOOPS 17 1 106
NESTED LOOPS 14 1 37
TABLE ACCESS BY INDEX ROWID UIB2 CLIENT_CONTACT 12 1 24
INDEX RANGE SCAN UIB2 IDX_CLIENTCONTACT_CONTACT 3 9
TABLE ACCESS BY INDEX ROWID UIB2 BANK_SYSTEM_CLIENT 2 1 13
INDEX RANGE SCAN UIB2 FK_BANKSYSCLIENT_CLIENTID 1 1
TABLE ACCESS BY INDEX ROWID UIB2 CLIENT_EVENT 3 1 69
INDEX RANGE SCAN UIB2 CLIENT_EVENT_CLIENDIDDATE 2 1
COLLECTION ITERATOR PICKLER FETCH 29 408 816

Скажите пожалуйста что тут плохо и что нужно улучшить что бы работало нормально?
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554839
boris_borisych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня до этого были full scan, я понапихал индексов, вроде по лучше стало, но я немного не понимаю как сейчас это отрабатывает и хорошо ли отрабатывает, допустим на таблицах в несколько миллионов что произойдет? и как можно сделать лучше?
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554841
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boris_borisychСкажите пожалуйста что тут плохо
Полная нечитаемость приведённого текста.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Description	Object owner	Object name	Cost	Cardinality	Bytes
SELECT STATEMENT, GOAL = ALL_ROWS	        47	456	49 248
HASH GROUP BY	                                47	456	49 248
NESTED LOOPS	                                46	456	49 248
NESTED LOOPS                                    17	1	106
NESTED LOOPS                                    14	1	37
TABLE ACCESS BY INDEX ROWID	UIB2	CLIENT_CONTACT	12	1	24
INDEX RANGE SCAN	UIB2	IDX_CLIENTCONTACT_CONTACT	3	9	
TABLE ACCESS BY INDEX ROWID	UIB2	BANK_SYSTEM_CLIENT	2	1	13
INDEX RANGE SCAN	UIB2	FK_BANKSYSCLIENT_CLIENTID	1	1	
TABLE ACCESS BY INDEX ROWID	UIB2	CLIENT_EVENT	3	1	69
INDEX RANGE SCAN	UIB2	CLIENT_EVENT_CLIENDIDDATE	2	1	
COLLECTION ITERATOR PICKLER FETCH	        29	408	816
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554844
boris_borisych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env,

понял, спасибо, буду иметь ввиду
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554847
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boris_borisychу меня до этого были full scan, я понапихал индексов
Для чего? Какая часть данных по каждой из таблиц участвует в формировании результата? Насколько велика/мала селективность полей по которым построены индексы? Для чего используется коллекция и чем определена её кардинальность?
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554848
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По приведённым в плане Cardinality - запрос должен летать даже на oracle xe.
Реальный runtime execution plan совпадает с explain plan?
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554853
boris_borisychпо лучшеТебе еще рано мнить себя умнее оптимизатора.
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554856
boris_borisych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
envПо приведённым в плане Cardinality - запрос должен летать даже на oracle xe.
Реальный runtime execution plan совпадает с explain plan?

Чуть чуть отличается в большую сторону, я не совсем понял почему
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554857
boris_borisych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Джонатан не Кэрроллboris_borisychпо лучшеТебе еще рано мнить себя умнее оптимизатора.

Т.е. предложенный план запроса является самым оптимальным?
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554860
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boris_borisych,

Серый ник намекает на Льюиса и его книгу по стоимостной оптимизации.

boris_borisychЧуть чуть отличается в большую сторону, я не совсем понял почему
От неактуальной статистики на объектах и до неправильной оценки кардинальности коллекции. Куча причин.

Actual time и estimated time насколько различаются? Поищи по форуму и доке dbms_xplan .
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554871
boris_borisych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env,

Спасибо большое за помощь
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554908
boris_borisych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env,

Скажите пожалуйста, а INDEX RANGE SCAN это плохо? В плане если например есть возможность переделать запрос на то, что бы не использовать в where выражения типа > < и like %%
....?
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554917
boris_borisych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env,

прошу прощенье за нубовский вопрос, но
Как можно создать функциональный индекс?
гугл перерыл, но что-то так и не нашел как это можно сделать...
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554919
Бракованный финский угорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boris_borisych, лучше беги. через 3...2....1.... тебя уничтожат.
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554920
boris_borisych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env,

допустим у меня стоит в условии:

Код: plsql
1.
2.
...
where lower(p.pole) like lower('%' || s_name || '%')


Тут планировщик пишет full scan, хотя на поле есть индекс, значит требуется функциональный индекс, но как его можно сделать для подобного условия?
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554940
boris_borisychэто плохо?Можешь не читать план - не читай.
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554942
"гребенщиков приобщается к оракл" - новая история "банк империал"
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554946
boris_borisych,

никакой FBI с префиксным поиском по проценту тебе не поможет.... Возможно, твой случай - полнотекстовый поиск.
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554965
boris_borisych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
boris_borisychenv,

допустим у меня стоит в условии:

Код: plsql
1.
2.
...
where lower(p.pole) like lower('%' || s_name || '%')


Тут планировщик пишет full scan, хотя на поле есть индекс, значит требуется функциональный индекс, но как его можно сделать для подобного условия?

Нашел как, спасибо
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554969
boris_borisych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,

Ну полный табличный поиск это же очень медлено, хочется быстрее, что делать тогда?
...
Рейтинг: 0 / 0
план выполнения запроса
    #39554977
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boris_borisychНу полный табличный поиск это же очень медлено
...а мужики-то не знают...

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


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