Я пытаюсь использовать Функциональный Кэш Результата 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
.
Что я делаю неправильно?
Какую версию вы используете? Функциональность кеширования доступна только в Enterprise Edition, поэтому, если вы попробуете это при установке Standard Edition, это не сработает. Это в Руководстве по лицензированию .