Det blev brugt til "mellemmaterialisering (Google-søgning)"
God artikel:Adam Machanic:Exploring the secrets of intermediate materialization
Han har endda rejst en MS Connect, så det kan gøres på en renere måde
Mit syn er "ikke iboende dårligt", men brug det ikke, medmindre det er 100% sikker. Problemet er, at det kun virker på det tidspunkt, du gør det og sandsynligvis ikke senere (patch-niveau, skema, indeks, rækkeantal osv.)...
Et fungerende eksempel
Dette kan mislykkes, fordi du ikke ved, i hvilken rækkefølge tingene vurderes
SELECT foo From MyTable WHERE ISNUMERIC (foo) = 1 AND CAST(foo AS int) > 100
Og dette kan også mislykkes, fordi
SELECT foo
FROM
(SELECT foo From MyTable WHERE ISNUMERIC (foo) = 1) bar
WHERE
CAST(foo AS int) > 100
Dette gjorde dog ikke i SQL Server 2000. Den indre forespørgsel evalueres og spooles:
SELECT foo
FROM
(SELECT TOP 100 PERCENT foo From MyTable WHERE ISNUMERIC (foo) = 1 ORDER BY foo) bar
WHERE
CAST(foo AS int) > 100
Bemærk, dette virker stadig i SQL Server 2005
SELECT TOP 2000000000 ... ORDER BY...