У нас є генератор SQL, який загалом випромінює умовні оператори SQL для вказаних полів (що заради обговорення: будемо позначати як myField).
Якщо myFieldмає тип NVARCHAR, ми можемо зробити порівняння зазначеного поля з рядком , як так: myField = 'foo'.
Однак це не працює для полів типу NTEXT. Таким чином, ми повинні зробити порівняння з кидком: CAST(myField as NVARCHAR(MAX)) = 'foo'. Фактично це буде спрацьовувати, якщо myFieldце тип NVARCHARабо NTEXT.
Що таке падіння продуктивності робити вищезгадане кидання на поле, яке вже типу NVARCHAR? Я сподіваюсь, що SQL Server досить розумний, щоб динамічно розпізнавати те, що myFieldвже є типом NVARCHAR(ефективно перетворюючи CASTна не-оп).