SQL Server 2005'te aşağıdaki sorun var: bir tablo değişkenine bazı satırlar eklemeye çalışmak geçici tablo kullanarak aynı ekleme karşılaştırıldığında çok zaman alır.
Bu, tablo değişkenine eklenecek koddur
DECLARE @Data TABLE(...)
INSERT INTO @DATA( ... )
SELECT ..
FROM ...
Bu geçici tabloya eklenecek kod
CREATE #Data TABLE(...)
INSERT INTO #DATA( ... )
SELECT ..
FROM ...
DROP TABLE #Data
Geçici tablonun herhangi bir anahtarı veya dizini yoktur, seçim bölümü 2 sorgu arasında aynıdır ve seçim tarafından döndürülen sonuç sayısı ~ 10000 satırdır. Yalnızca seçimi gerçekleştirmek için gereken süre ~ 10 saniyedir.
Geçici tablo sürümü yürütmek için 10 saniye sürer, 5 dakika sonra tablo değişken sürümünü durdurmak zorunda kaldı.
Sorgu geçici tablo erişimine izin vermeyen bir tablo değeri işlevinin bir parçası olduğundan bir tablo değişkeni kullanmak zorunda.
Tablo değişkeni sürümü için yürütme planı
Geçici tablo sürümü için yürütme planı
EXEC
bir işlev üzerinde kullanamadım olsa da harika bir öneriydi .... Sanırım yanılmışım