Tidak keduanya
Jika Anda ingin men-cache hasil hasil set di bawah kendali Anda sendiri, maka Anda tidak dapat menggunakan tabel temp, dalam bentuk apa pun. Anda harus menggunakan tabel pengguna biasa, disimpan baik di tempdb atau bahkan memiliki database cache set hasil Anda sendiri.
Tabel sementara, bot #local dan ##shared memiliki masa pakai yang dikendalikan oleh koneksi. Jika aplikasi Anda terputus, tabel temp dihapus, dan ini tidak berfungsi dengan baik dengan apa yang Anda jelaskan.
Masalah yang benar-benar sulit adalah untuk mengisi kumpulan hasil yang di-cache ini di bawah proses bersamaan tanpa mencampuradukkannya (berakhir dengan kumpulan hasil yang berisi item duplikat dari laporan berjalan bersamaan yang keduanya diyakini sebagai proses 'pertama').
Sebagai catatan tambahan, Layanan Pelaporan SQL Server sudah melakukan ini di luar kotak. Anda dapat menyimpan dan berbagi kumpulan data, Anda dapat menyimpan dan berbagi laporan, itu sudah berfungsi dan telah diuji untuk Anda.