Будет ли использование регулярного выражения с подстановочными знаками в REGEXP_LIKE менее производительным, чем вообще без условия условия.
Например, я хочу создать подготовленный оператор Oracle, как показано ниже:
select * from table_name
where regexp_like(column1, ?)
and regexp_like(column2, ?)
and regexp_like(column3, ?)
and regexp_like(column4, ?)
В запросе не обязательно указывать критерии для всех столбцов.Для столбцов без критериев мы можем использовать регулярное выражение с подстановочными знаками * ИЛИ , которое мы можем просто не включать в условие из условия where.
select * from table_name
where regexp_like(column1, 'h[i|ello]')
and regexp_like(column2, '.*')
and regexp_like(column3, '.*')
and regexp_like(column4, 'bye')
ИЛИ
select * from table_name
where regexp_like(column1, 'h[i|ello]')
and regexp_like(column4, 'bye')
Будет ли использование символа подстановки в условии regexp_like менее эффективным, чем просто полное отсутствие условия?Если это так, будет ли существенная разница в производительности?
Основная проблема заключается в том, что можно использовать один оператор SQL вместо необходимости динамически создавать оператор SQL в соответствии с указанными критериями.