Използвано е за "междинна материализация (търсене в Google)"
Добра статия:Адам Мачаник:Изследване на тайните на междинната материализация
Той дори създаде MS Connect, така че да може да се направи по-чист начин
Моето мнение "не е лошо", но не го използвайте, освен ако не сте 100% сигурни. Проблемът е, че работи само в момента, в който го правите и вероятно не по-късно (ниво на корекция, схема, индекс, брой редове и т.н.)...
Работен пример
Това може да не успее, защото не знаете в кой ред се оценяват нещата
SELECT foo From MyTable WHERE ISNUMERIC (foo) = 1 AND CAST(foo AS int) > 100
И това може също да се провали, защото
SELECT foo
FROM
(SELECT foo From MyTable WHERE ISNUMERIC (foo) = 1) bar
WHERE
CAST(foo AS int) > 100
Това обаче не се случи в SQL Server 2000. Вътрешната заявка се оценява и пулсира:
SELECT foo
FROM
(SELECT TOP 100 PERCENT foo From MyTable WHERE ISNUMERIC (foo) = 1 ORDER BY foo) bar
WHERE
CAST(foo AS int) > 100
Имайте предвид, че това все още работи в SQL Server 2005
SELECT TOP 2000000000 ... ORDER BY...