powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / План запроса
9 сообщений из 9, страница 1 из 1
План запроса
    #32197315
Beatl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть сложный запрос с выборкой из двух таблиц и двух ХП. Однако я никак не могу "вытащить" его план стандартными способами. Посоветуйте, плз, реально ли его достать "нестадартно". Если да, то как ?
...
Рейтинг: 0 / 0
План запроса
    #32197340
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как ты представляешь себе план для ХП? Смотри в эксперте - там все планы вреде показываются + диаграммы выполенния операций очень полезные ...
...
Рейтинг: 0 / 0
План запроса
    #32197357
Beatl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Gold
Запрос :select a.a_fam,a.a_kolwo,a.a_strana
from awtor_knigi(69) a
План : PLAN (AWTOR_KNIGA INDEX (IDX_AWTOR_KNIGA1))JOIN (A INDEX(RDB$PRIMARY1),S INDEX (RDB$PRIMARY4))

Так я себе это представляю.
...
Рейтинг: 0 / 0
План запроса
    #32197394
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Внутри XП может быть сотня запросов с отдельними планами, которые не зависят от внешнего контекста. ХП - это не отношение и применять к ней всё то, что применимо к таблицам и представлениям, не всегда есть разумно.

Короче говоря, планы запросов в процедурах смотри отдельно. Извне ты на них никак не повлияешь.
...
Рейтинг: 0 / 0
План запроса
    #32197411
Beatl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Gold
Я понимаю, что план выполнения ХП создаётся только один раз и влиять на него нельзя. Но я не понимаю, почему я не могу заполучить план запроса, в котором участвует эта процедура + ещё несколько объектов. IBManager, Marathon и прочие мне этот план не выдают.
Можно ли его заполучить как-то вручную ?
...
Рейтинг: 0 / 0
План запроса
    #32197429
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBManager, Marathon и прочие
^^^^^^^^^^^^^^^^^^^
А экспертом пробовал? Я пользуюсь IBExpert, и он план для запросов с поцедурами выдаёт. Вот тебе оттудова пример:

Код: plaintext
1.
2.
3.
4.
План
PLAN SORT (JOIN (G INDEX (GOODS_IDX2),GOODS INDEX (GOODS_IDX2))(ARRIVAL INDEX (RDB$FOREIGN2,ARRIVAL_IDX1))(ORDER_GOODS INDEX (RDB$FOREIGN3,ORDER_GOODS_IDX2))(ORDER_CREDITS INDEX (RDB$FOREIGN10,ORDER_CREDITS_IDX1))(WRITE_OFF INDEX (RDB$FOREIGN1,WRITE_OFF_IDX1))(BRONING_GOODS INDEX (RDB$FOREIGN74,BRONING_GOODS_IDX1))(ARRIVAL INDEX (RDB$FOREIGN2))(ORDER_GOODS INDEX (RDB$FOREIGN3))(ORDER_CREDITS INDEX (RDB$FOREIGN10))(WRITE_OFF INDEX (RDB$FOREIGN1))(BRONING_GOODS INDEX (RDB$FOREIGN74)))

Адаптированный план
PLAN SORT (JOIN (G INDEX (GOODS_IDX2),GOODS INDEX (GOODS_IDX2))(ARRIVAL INDEX (FK_ARRIVAL,ARRIVAL_IDX1))(ORDER_GOODS INDEX (FK_ORDER_GOODS_GOOD,ORDER_GOODS_IDX2))(ORDER_CREDITS INDEX (INTEG_94,ORDER_CREDITS_IDX1))(WRITE_OFF INDEX (FK_WRITE_OFF,WRITE_OFF_IDX1))(BRONING_GOODS INDEX (FK_BRONING_GOODS_GOOD,BRONING_GOODS_IDX1))(ARRIVAL INDEX (FK_ARRIVAL))(ORDER_GOODS INDEX (FK_ORDER_GOODS_GOOD))(ORDER_CREDITS INDEX (INTEG_94))(WRITE_OFF INDEX (FK_WRITE_OFF))(BRONING_GOODS INDEX (FK_BRONING_GOODS_GOOD)))
...
Рейтинг: 0 / 0
План запроса
    #32197442
Beatl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Gold
А экспертом пробовал?

Пробовал. Ведь эти программы не на пустом месте план получают. Может можно как-нить ручками (запросом), типа :
Код: plaintext
1.
select plan
from (запрос)
???
...
Рейтинг: 0 / 0
План запроса
    #32197487
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобще это через IB API делается, если ручками.
Однако помню где-то читал про то ли опцию PLAN ONLY, то ли это плюшка в каком-то средству была. Точно не скажу, но звон слышал.

Интересно знать, зачем это тебе? Где это может понадобиться? Разве только если сам пишешь что-то типа IBConsole ...
...
Рейтинг: 0 / 0
План запроса
    #32197523
Beatl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно. Спасибо. Буду копать IB API.
ЗЫ. "PlanOnly" - команда в FireBird
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / План запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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