Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Tabelle temporanee locali e globali:quando usare cosa?

Nemmeno

Se si desidera memorizzare nella cache i set di risultati sotto il proprio controllo, non è possibile utilizzare tabelle temporanee, di alcun tipo. Dovresti usare le normali tabelle utente, archiviate in tempdb o anche avere il tuo database di cache del set di risultati.

Le tabelle temporanee, i bot #locali e ##condivisi hanno una durata controllata dalle connessioni. Se la tua applicazione si disconnette, la tabella temporanea viene eliminata e questo non funziona bene con ciò che descrivi.

Il vero problema difficile sarà popolare questi set di risultati memorizzati nella cache in esecuzioni simultanee senza confondere le cose (finire con set di risultati contenenti elementi duplicati da esecuzioni di report simultanee che entrambi ritenevano essere la "prima" esecuzione).

Come nota a margine, SQL Server Reporting Services lo fa già pronto all'uso. Puoi memorizzare nella cache e condividere set di dati, puoi memorizzare nella cache e condividere rapporti, funziona già ed è stato testato per te.