Był używany do „ materializacji pośredniej (wyszukiwarka Google) ”
Dobry artykuł: Adam Machanic: Odkrywanie tajemnic pośredniej materializacji
Podniósł nawet MS Connect, aby można było to zrobić w czystszy sposób
Mój pogląd jest „nie z natury zły”, ale nie używaj go, chyba że masz 100% pewności. Problem w tym, że działa tylko wtedy, gdy to robisz i prawdopodobnie nie później (poziom poprawek, schemat, indeks, liczba wierszy itp.) ...
Przykład praktyczny
Może się to nie powieść, ponieważ nie wiesz, w jakiej kolejności rzeczy są oceniane
SELECT foo From MyTable WHERE ISNUMERIC (foo) = 1 AND CAST(foo AS int) > 100
Może się to również nie udać, ponieważ
SELECT foo
FROM
(SELECT foo From MyTable WHERE ISNUMERIC (foo) = 1) bar
WHERE
CAST(foo AS int) > 100
Jednak nie miało to miejsca w SQL Server 2000. Wewnętrzne zapytanie jest oceniane i buforowane:
SELECT foo
FROM
(SELECT TOP 100 PERCENT foo From MyTable WHERE ISNUMERIC (foo) = 1 ORDER BY foo) bar
WHERE
CAST(foo AS int) > 100
Uwaga, to nadal działa w SQL Server 2005
SELECT TOP 2000000000 ... ORDER BY...