使用DataReader时,从性能角度执行SQL语句或存储过程是否更好?

neu*_*v33 1 c# sql-server performance ado.net stored-procedures

我需要从匹配给定的表中检索一些字段ID.目前,我构建了一个sql语句

SELECT a, b, c 
FROM d 
WHERE id = @id
Run Code Online (Sandbox Code Playgroud)

然后使用DataReader.执行它.

我还可以编写一个带有idas参数的存储过程.

我想知道哪个更适合性能.

编辑:我正在使用参数化查询,编辑问题以反映.

Luc*_*ero 5

他们通常会表现得差不多.

请注意,频繁调用时会出现差异; 每次发送SQL代码时都必须解析SQL代码(但不一定要重新编译,如果语句被识别为缓存),而SP是预编译的,但这可能导致索引选择不理想,因为统计数据不是评估每次通话.