AddWithValue sin DBType haciendo que las consultas se ejecuten lentamente

He estado usando cmd.Parameters.AddWithValue y no he especificado un DBType (int, varchar, ...) para ejecutar consultas. Después de mirar SQL Profiler, parece que las consultas que se ejecutan con este método se ejecutan mucho más lentamente que cuando especifica el tipo de datos.

Para darle una idea de cuánto más lento es, aquí hay un ejemplo. La consulta es una búsqueda simple en una sola tabla, y la columna en la instrucción where está indexada. Al especificar el tipo de datos, una consulta determinada se ejecuta en aproximadamente 0 MS (demasiado pequeña para que el servidor SQL pueda medirla) y requiere 41 lecturas. Cuando elimino el DBType, puede tomar alrededor de 200 ms y 10000 lecturas para completar la consulta.

No estoy seguro de si solo se trata de valores incorrectos de SQL Profiler, o si estos valores son realmente correctos, pero es reproducible, ya que puedo agregar y eliminar el DBType, y producirá los valores dados en SQL Profiler.

¿Alguien más se ha encontrado con este problema y hay una manera simple de solucionarlo? Me doy cuenta de que podría agregar el tipo de datos en todo mi código, pero eso parece un montón de cosas para agregar, y si hay una manera más fácil de solucionarlo, sería muy apreciado.

[EDITAR]

Después de algunas pruebas iniciales (ejecutando ambos escenarios en un bucle) parece que los valores que da el generador de perfiles son precisos.

Como información adicional, estoy ejecutando .Net 2.0 en Windows XP Pro y SQL Server 2000 en Windows 2000 para la base de datos.

[ACTUALIZAR]

Después de investigar un poco, pude encontrar estoentrada en el blog, que pueden estar relacionados. Parece que los valores de cadena en .Net (ya que son unicode) se crean automáticamente como parámetros nvarchar. Tendré que esperar hasta el lunes cuando empiece a trabajar para ver si puedo hacer algo al respecto que solucione el problema. Aún así parece que tendría que establecer el tipo de datos, que era lo que estaba tratando de evitar.

Este problema no aparece con cada consulta que hice, solo algunas selectas, por lo que todavía puedo recurrir a configurar el DBType en las consultas con problemas, pero estoy buscando una solución más generalizada para el problema.

Respuestas a la pregunta(3)

Su respuesta a la pregunta