Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Lokalne a globalne tabele tymczasowe — kiedy używać czego?

Ani

Jeśli chcesz buforować zestawy wyników pod własną kontrolą, nie możesz używać żadnych tabel tymczasowych. Powinieneś używać zwykłych tabel użytkownika, przechowywanych w tempdb lub nawet mieć własną bazę danych pamięci podręcznej zestawów wyników.

Tabele tymczasowe, bot #local i ##shared mają czas życia kontrolowany przez połączenie(a). Jeśli Twoja aplikacja się rozłączy, tabela tymczasowa zostanie usunięta, a to nie działa dobrze z tym, co opisujesz.

Naprawdę trudnym problemem będzie zapełnienie tych buforowanych zestawów wyników w równoległych przebiegach bez pomieszania (skończą z zestawami wyników zawierającymi zduplikowane elementy z równoczesnych przebiegów raportów, które uważano za "pierwsze" przebiegi).

Na marginesie, usługi SQL Server Reporting Services robią to już po wyjęciu z pudełka. Możesz buforować i udostępniać zestawy danych, buforować i udostępniać raporty, to już działa i zostało dla Ciebie przetestowane.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2008 XPath

  2. Używanie aliasów w klauzuli Where lub alternatywnej opcji?

  3. Indeks SQL Server Które powinny być klastrowane?

  4. SQL, aby uzyskać następną niepustą wartość w kolumnie

  5. Określ, czy parametr SP ma wartość domyślną w T-SQL