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