Я пытаюсь выяснить, почему выполнение SQL-запросов занимает такое долгое время. Это противоречит двум таблицам, и оба они имеют значительный размер, но не настолько велики, чтобы гарантировать любую задержку. Это:Interbase SQL занимает много времени для выполнения
Select pm.Type
From History ah
inner join Masters pm on pm.MasterUID=ah.MasterUID
where ah.ControlUID= '1891' rows 1
план показан:
PLAN JOIN (PM NATURAL,AH INDEX (IDXPROPMASTER,IDXHISTBATCHCONTROL))
Все эти поля индексируются в соответствующих таблицах. Когда я развалюсь SQL на два шага он работает быстро и он использует план указательного PM:
Select ah.masteruid from history ah where ah.controluid = '1891'
PLAN (AH INDEX (IDXHISTBATCHCONTROL))
Select pm.taxtype from masters pm where pm.masteruid = '1760'
PLAN (PM INDEX (RDB$PRIMARY405))
Adapted Plan
PLAN (PM INDEX (PK_MASTERS))
Мой вопрос заключается в том, как улучшить скорость первого SQL, чтобы избавиться от задержки.
В какое время точно? –
Время выполнения составляет не менее 20 секунд, чтобы вернуть одну запись. Если выполняется два метода SQL-оператора, он мгновенно выполняет два оператора. –
HAve вы протестировали без утверждения 'rows 1'? –