Próbujemy optymalizacji procedur niektórych T-SQL zapisanych w celu zmniejszenia tempdb rywalizacji, ale nie mogę dowiedzieć się, jak zmienne non-table są przechowywane przez serwer SQL:Kiedy zmienna jest zadeklarowana w procedurze składowanej T-SQL, czy jest przechowywana w pamięci lub tempdb?
- Co o prostych typów danych jak INT i DATETIME? Wydaje się, że żyją w pamięci.
- A co z VARCHAR/VARCHAR (MAX)? Zwykły VARCHAR może żyć w pamięci, ale VARCHAR (MAX) może wymagać użycia tempdb do przechowywania.
- Zmienne tabeli są przechowywane w tempdb. Ale nie jestem nimi zainteresowany.
Parametr MSDN article on tempdb nie wyjaśnia zwykłych zmiennych.
Dzięki za znalezienie tego! Zakładam, że "jeśli wartości są małe" oznacza mniej niż 8000 bajtów? Niezależnie od tego, artykuł wydaje się sugerować, że nie-MAX (N) VARCHAR i małe zmienne są przechowywane w pamięci. –