Він використовувався для " проміжної матеріалізації (пошук 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...