sql >> Database >  >> RDS >> Sqlserver

Lokale versus globale tijdelijke tabellen - Wanneer wat gebruiken?

Geen van beide

Als u resultaatresultatensets onder uw eigen controle wilt cachen, dan kunt u geen tijdelijke tabellen gebruiken, van welke aard dan ook. Je moet gewone gebruikerstabellen gebruiken, opgeslagen in tempdb of zelfs je eigen cachedatabase met resultatensets.

Tijdelijke tabellen, bot #local en ##shared hebben een levensduur die wordt bepaald door de verbinding(en). Als uw applicatie de verbinding verbreekt, wordt de tijdelijke tabel verwijderd en dit werkt niet goed met wat u beschrijft.

Het echte moeilijke probleem zal zijn om deze gecachte resultatensets onder gelijktijdige runs te vullen zonder dingen door elkaar te halen (eind met resultatensets die dubbele items bevatten van gelijktijdige rapportruns waarvan beide dachten dat het de 'eerste' uitvoering was).

Even terzijde:SQL Server Reporting Services doet dit al out-of-the-box. U kunt datasets cachen en delen, u kunt rapporten cachen en delen, het werkt al en is voor u getest.



  1. Hoe een tabel af te kappen met Doctrine?

  2. Betere manier om alle kolommen uit de eerste tabel te selecteren en slechts één kolom uit de tweede tabel op inner join

  3. Hoe verbind ik Cakephp 1.3 met MS SQLServer 2008?

  4. Postgres Functie om meerdere records in twee tabellen in te voegen