Normalmente establezco el tamaño de mi columna al crear un parámetro en ADO.NET¿Qué tamaño usas para varchar (MAX) en tu declaración de parámetro?
Pero, ¿qué tamaño debo usar si la columna es VARCHAR(MAX)
?
cmd.Parameters.Add("@blah", SqlDbType.VarChar, ?????).Value = blah;
Véase también documentación de MSDN: http: // MSDN .microsoft.com/es-us/library/bb399384.aspx –
¿Hay algún inconveniente en el rendimiento para establecer todas las longitudes de parámetros en -1, por lo que no es necesario mantener una lista de coincidencia de db? –
Varchar (max) se trata de forma idéntica a varchar (8000) para valores inferiores a 8000 bytes. Para valores más grandes, el campo se trata como un campo de "texto" (también conocido como "CLOB"). Esto puede afectar la optimización del plan de consulta y la eficacia de recuperar filas con valores más grandes en esta columna, ya que los datos se almacenan "fuera de la fila" y requieren una búsqueda adicional. – KeithS