Het werd gebruikt voor "tussenliggende materialisatie (Google-zoekopdracht)"
Goed artikel:Adam Machanic:de geheimen van intermediaire materialisatie verkennen
Hij heeft zelfs een MS Connect grootgebracht zodat het op een schonere manier kan
Mijn mening is "niet inherent slecht", maar gebruik het niet tenzij 100% zeker. Het probleem is dat het alleen werkt op het moment dat je het doet en waarschijnlijk niet later (patchniveau, schema, index, rijtellingen enz.)...
Uitgewerkt voorbeeld
Dit kan mislukken omdat je niet weet in welke volgorde dingen worden geëvalueerd
SELECT foo From MyTable WHERE ISNUMERIC (foo) = 1 AND CAST(foo AS int) > 100
En dit kan ook mislukken omdat
SELECT foo
FROM
(SELECT foo From MyTable WHERE ISNUMERIC (foo) = 1) bar
WHERE
CAST(foo AS int) > 100
Dit gebeurde echter niet in SQL Server 2000. De innerlijke query wordt geëvalueerd en in de wachtrij geplaatst:
SELECT foo
FROM
(SELECT TOP 100 PERCENT foo From MyTable WHERE ISNUMERIC (foo) = 1 ORDER BY foo) bar
WHERE
CAST(foo AS int) > 100
Let op, dit werkt nog steeds in SQL Server 2005
SELECT TOP 2000000000 ... ORDER BY...