Могу ли я как-то обнаружить, что новый оператор начался

У меня есть функция plv8 (но я предполагаю, что то же самое относится к любому языку). Это можно назвать много в одном утверждении (выберите скажем). Он вычисляет дорогие вещи, поэтому я не хочу пересчитывать каждый раз. Но то, что он вычисляет, зависит от содержимого базы данных. Я могу наивно кэшировать вещи в функции, но это никогда не очистится. Поэтому после первого звонка я всегда оперирую старыми данными. Если было бы неплохо сбрасывать в начале выполнения каждого оператора.

Обратите внимание, что запуск изменений в таблицах, от которых зависит кэш, не работает. Кеш существует в соединении A, DB может быть изменено соединением B (или C,...)

0 ответов

Другие вопросы по тегам