/ / Table Spool w planie wykonania SQL Server - sql-server

Spool tabel w planie wykonania SQL Server - sql-server

Czy naprawdę trudno jest uzyskać "bufor tabeli" w planie wykonania serwera sql? Jeśli nie, to jak to jest korzystne? Czy naprawdę szukamy sposobu na pozbycie się stołowej szpuli?

Odpowiedzi:

1 dla odpowiedzi № 1

Według MSDN:

Operator logiczny Lazy Spool przechowuje każdy wierszz jego wejścia w ukryty tymczasowy obiekt przechowywany w bazie danych tempdb. Jeśli operator jest przewijany (na przykład przez operator zagnieżdżonych pętli), ale bez ponownego wiązania jest potrzebny, dane buforowe są używane zamiast ponownego skanowania danych wejściowych. Jeśli potrzebne jest ponowne wiązanie, dane w buforze są odrzucane, a szpula obiekt jest odbudowywany poprzez ponowne skanowanie wejścia (odbicia).

Zawsze lepiej jest nie mieć operatora, niż mieć go .. Zalety są opisane powyżej (bez ponownego skanowania) Wadą jest to, że wiersze muszą być przechowywane w tempdb (zwykle mieszczą się w pamięci dla szybszego dostępu).

Zwykle nie jest źle mieć tego operatora, chyba że wszystko pasuje do pamięci.Musisz udostępnić plan wykonania / kwerendę, aby uzyskać więcej wyjaśnienia danych i ewentualnych poprawek.