У меня вопрос по производительности в скрипте.У меня есть хранимая процедура, как это:
procedure my_procedure (IN document_number_parameter varchar(100))
begin
select a.id,
b.code
from table_a a
inner join table_b b on a.b_id = b.id
where case when document_number_parameter is null then 1=1
else b.document_number = document_number_parameter
end;
На самом деле, таблица b имеет индекс в столбце document_number.Что лучше?Этот сценарий или создать динамический запрос, используя параметр document_number_parameter и добавив в сценарий оператор 'where' по требованию? Интересно, если база данных использует полное сканирование или сканирование индекса, когда document_number_parameter не равно нулю.
Я добавил предельное предложение, но в данном случае это не актуально.Спасибо.