Я пытаюсь использовать функцию Oracle . Кэш на 11.2.0, поэтому я провел следующий тест:
CREATE OR REPLACE FUNCTION get_test_value
RETURN NUMBER
RESULT_CACHE
AS
BEGIN
dbms_output.put_line( 'Called' );
RETURN 0;
END;
SELECT get_test_value FROM dual;
Однако мой пример печатает Called
каждый раз.
Я также попробовал несколько других примеров, найденных в Интернете, но кеш не используется.
Я попробовал ALTER SYSTEM SET result_cache_max_size = 10485760;
Все равно не работает.
Пробовал ALTER SESSION SET result_cache_mode=FORCE;
(что не обязательно) - не помогло.
SELECT dbms_result_cache.status FROM dual;
всегда возвращает DISABLED
.
Что я делаю не так?