1. Rendimiento:
Suponga que su cláusula where es así:
WHERE NAME='JON'
Si la columna NOMBRE es de cualquier tipo que no sea nvarchar o nchar, entonces no debe especificar el prefijo N. Sin embargo, si la columna NOMBRE es de tipo nvarchar o nchar, entonces si no especifica el prefijo N, entonces 'JON' se trata como no unicode. Esto significa que el tipo de datos de la columna NAME y la cadena 'JON' son diferentes y, por lo tanto, SQL Server convierte implícitamente el tipo de un operando al otro. Si el SQL Server convierte el tipo de literal al tipo de columna, entonces no hay problema, pero si lo hace de otra manera, el rendimiento se verá afectado porque el índice de la columna (si está disponible) no se usará.
2. Conjunto de caracteres:
Si la columna es de tipo nvarchar o nchar, utilice siempre el prefijo N al especificar la cadena de caracteres en la cláusula WHERE criterios / ACTUALIZACIÓN / INSERTAR. Si no hace esto y uno de los caracteres en su cadena es unicode (como caracteres internacionales - ejemplo - ā), entonces fallará o sufrirá corrupción de datos.
N
solo cuando estoy usando los siguientes tipos de datosCHAR, VARCHAR or TEXT
?? porque `NCHAR, NVARCHAR o NTEXT` son inherentemente almacenar UNICODE, no necesito agregarlo por separado ... ¿es cierto?