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

Różnica między lokalnymi i globalnymi tabelami tymczasowymi w SQL Server

Kiedy tworzysz tymczasową tabelę w SQL Server, masz możliwość uczynienia jej lokalną lub globalną tabelą tymczasową.

Oto krótki zarys głównych różnic między lokalnymi tabelami tymczasowymi a globalnymi tabelami tymczasowymi.

Nazywanie

  • Nazwy lokalnych tabel tymczasowych zaczynają się od pojedynczego znaku cyfry (# ). Na przykład #MyTable .
  • Lokalne tabele tymczasowe również otrzymują generowany przez system sufiks numeryczny dołączany do nazwy. Jest to automatycznie generowane przez SQL Server. Dzięki temu wiele sesji może tworzyć lokalne tabele tymczasowe o tej samej nazwie bez powodowania konfliktów nazw. Jednak użytkownicy mogą nadal wysyłać zapytania do tabeli bez konieczności znajomości sufiksu.
  • Nazwy globalnych tabel tymczasowych zaczynają się od podwójnego znaku liczby (## ). Na przykład ##MyTable .
  • Globalne tabele tymczasowe nie z dodanym przyrostkiem jak w przypadku lokalnych tabel tymczasowych.

Widoczność

  • Lokalne tabele tymczasowe są widoczne tylko w bieżącej sesji.
  • Globalne tabele tymczasowe są widoczne dla wszystkich sesji.

Żywotność

  • Lokalne tabele tymczasowe są automatycznie usuwane na koniec bieżącej sesji. Lokalna tabela tymczasowa utworzona w procedurze składowanej jest usuwana automatycznie po zakończeniu procedury składowanej. Do tabeli mogą odwoływać się dowolne zagnieżdżone procedury składowane wykonywane przez procedurę składowaną, która utworzyła tabelę. Do tabeli nie może odwoływać się proces, który wywołał procedurę składowaną, która utworzyła tabelę.
  • Globalne tabele tymczasowe są automatycznie usuwane, gdy sesja, w której utworzono tabelę, kończy się i wszystkie inne zadania przestają się do nich odwoływać. Powiązanie między zadaniem a tabelą jest utrzymywane tylko przez okres istnienia pojedynczej instrukcji T-SQL. Dlatego globalna tabela tymczasowa jest usuwana po zakończeniu ostatniej instrukcji T-SQL, która aktywnie odwoływała się do tabeli, gdy sesja tworzenia zakończyła się.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Unikalne ograniczenie w wielu kolumnach

  2. Zapytanie bardzo wolne w kodzie, ale szybkie w SSMS

  3. Wybór N wierszy w SQL Server

  4. Nie można załadować biblioteki DLL „SqlServerSpatial.dll”

  5. Losowa wartość dla kolumny DATETIME