Abbiamo un generatore SQL che emette istruzioni condizionali SQL genericamente per campi specifici (che per motivi di discussione: etichettiamo come myField).
Se myFieldè di tipo NVARCHAR, possiamo fare un confronto tra detto campo contro una stringa in questo modo: myField = 'foo'.
Tuttavia, questo non funziona per i campi di tipo NTEXT. Così, abbiamo a che fare il confronto con un cast: CAST(myField as NVARCHAR(MAX)) = 'foo'. Questo funzionerà infatti se myFieldè di tipo NVARCHARo NTEXT.
Qual è l'hit di performance di fare il cast di cui sopra su un campo che è già di tipo NVARCHAR? La mia speranza è che SQL Server sia abbastanza intelligente da riconoscere dinamicamente che myFieldè già di tipo NVARCHAR(trasformando CASTin modo efficace il no-op).