oracle: как гарантировать, что функция в предложении where будет вызываться только после того, как все остальные предложения where отфильтровали результат?

Я пишу запрос на этот счет:

select * 
from players 
where player_name like '%K% 
  and player_rank<10 
  and check_if_player_is_eligible(player_name) > 1;

Теперь функция check_if_player_is_elposed () является тяжелой, и поэтому я хочу, чтобы запрос отфильтровал результаты поиска достаточно, а затем запускать эту функцию только для отфильтрованных результатов.

Как я могу гарантировать, что вся фильтрация выполняется до выполнения функции, чтобы она выполнялась минимальное количество раз?

12
задан a_horse_with_no_name 8 December 2011 в 08:54
поделиться