Czy zmienne tabel zostały utworzone w pamięci lub w tempdb? To samo dla tabel o krótkim czasie trwania?zmienne tabel utworzone i przechowywane w pamięci lub w tempdb?
Odpowiedz
tabeli temp zostanie utworzony w tempdb i można łatwo sprawdzić za nim przez odpytywanie tabeli sysobjects w tempdb
przykład
create table #test (Item char(1), TimeSold varchar(20))
select * from tempdb.sys.sysobjects
where name like '#test%'
powinieneś zobaczyć coś o nazwie typu # # # test _______ 000000000905 ale potem z większą liczbą podkreślenia
Jeśli chcesz sprawdzić, czy istnieje tabela temp następnie zobacz także How Do You Check If A Temporary Table Exists In SQL Server
Struktura zmiennej Table jest również tworzona w tempdb Aby zobaczyć tabelę zmiennych można zrobić coś takiego, ale nie ma gwarancji, że ktoś nie wkradł się przed tobą podczas tworzenia swojej zmiennej tabeli. Nazwa zmiennej tabela będzie coś jak # 7BB1235D
declare @v table(id int)
select top 1 * from tempdb.sys.sysobjects
where name like '#%'
and name not like '%[_]%'
order by crdate desc
select * from @v
Więcej informacji można znaleźć tutaj: http://support.microsoft.com/kb/305977
edytowany moja odpowiedź, tx – SQLMenace
To było moje zrozumienie, że przynajmniej struktura zmiennej tabeli jest zawsze tworzone w tempdb. Następnie, jako pointed out by SQLMenace, dane mogą się rozlać lub nie.
Per this Microsoft Knowledge Base Article:
Zmienna tabela nie jest pamięcią tylko struktura. Ponieważ zmienna tablicy może przechowywać więcej danych niż mieści się w pamięci , musi mieć miejsce na dysku do przechowywania danych. Zmienne tabeli to utworzone w bazie danych tempdb podobne do do tabel tymczasowych. Jeśli dostępna jest pamięć , tworzone są tabele tymczasowe i tabele tymczasowe i przetwarzane w pamięci (dane pamięci podręcznej danych: ).
Dane są zawsze przechowywane na stronach danych należących do 'tempdb'. Mogą one być zapisane na dysku lub nie, a zapisywane na dyskach strony mogą nadal znajdować się w puli buforów. [Niektóre odpowiednie demonstracje na samym końcu mojej odpowiedzi tutaj] (http://dba.stackexchange.com/a/16386/3690) –
W MS SQL 2014 wprowadzono specjalny typ zmiennych tabelowych "Zmienne tabeli zoptymalizowane pod kątem pamięci". I nie używają tempdb.
Zobacz https://msdn.microsoft.com/en-us/library/dn535766.aspx
- 1. Kiedy zmienna jest zadeklarowana w procedurze składowanej T-SQL, czy jest przechowywana w pamięci lub tempdb?
- 2. W jaki sposób zmienne są przechowywane w pamięci w rekursji?
- 3. Gdzie są przechowywane zmienne w Pythonie?
- 4. Gdzie są zmienne w zamknięciu przechowywane - stos lub sterty?
- 5. Gdzie przechowywane są zmienne javascript
- 6. Gdzie przechowywane są zmienne ulotne?
- 7. Zmienne lotne i bariera pamięci w java
- 8. Gdzie są metody przechowywane w pamięci?
- 9. W jaki sposób nazwy zmiennych są przechowywane i mapowane wewnętrznie?
- 10. Jak wyświetlić tylko zmienne utworzone przez użytkownika w PowerShell?
- 11. Zmienne sesji PHP nie są przechowywane
- 12. Czy zmienne stosu C są przechowywane w odwrotnej kolejności?
- 13. Przesunięcia przechowywane w Zookeeperze lub Kafce?
- 14. Gdzie przechowywane są zmienne instancji w module pomocniczym Rails?
- 15. W jaki sposób typy ciągów i znaków są przechowywane w pamięci w .NET?
- 16. PHP zmienne odniesienia i pamięci używanej
- 17. Gdzie są przechowywane zmienne uniwersalne w powłoce ryby?
- 18. SQL Server 2005 Memory Pressure i tempdb zapisują problem
- 19. Przechowywane procedury i funkcje
- 20. Czy elementy utworzone za pomocą document.createElement pozostają w pamięci?
- 21. W którym argumenty wiersza poleceń segmentu pamięci są przechowywane?
- 22. Bezpiecznie zastąpić zmienne Pythona w pamięci RAM?
- 23. Oracle SQL: zmienne używane w miejsce nazw tabel
- 24. W jaki sposób zmienne i metody instancji są przechowywane w obiekcie Objective-C 2.0?
- 25. Jak długo wpisy LogCat są przechowywane w pamięci?
- 26. Jak długo pliki są zwykle przechowywane w pamięci podręcznej przeglądarki?
- 27. gdzie zmienne biblioteki współużytkowanej przechowywane po połączeniu z aplikacją
- 28. Jak zidentyfikować zmienne zdefiniowane na nowo lub zmienne w tle
- 29. Łączenie tabel lub wybór z wielu tabel
- 30. Timer javascript lub interwały utworzone w pętli przy użyciu zamknięcia
http://dba.stackexchange.com/questions/16385/whats-the-difference-between-a-temp-table-and-table-variable-in-sql-server –