Sql 与视图相比,使用存储过程有什么优势?

Sql 与视图相比,使用存储过程有什么优势?,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,我有一个执行相当复杂的SELECT语句的存储过程。存储过程接受查询中使用的参数: ALTER PROCEDURE [dbo].[GetConnections] @equipmentId int, @equipmentPortNum int AS SELECT ..SELECT QUERY HERE.. END 我正在考虑将其更改为视图,并在调用视图时对其进行过滤: SELECT * from ConnectionsView Where EquipmentID = XXX

我有一个执行相当复杂的SELECT语句的存储过程。存储过程接受查询中使用的参数:

ALTER PROCEDURE [dbo].[GetConnections]
    @equipmentId int,
    @equipmentPortNum int
AS
    SELECT ..SELECT QUERY HERE..
END
我正在考虑将其更改为视图,并在调用视图时对其进行过滤:

SELECT * from ConnectionsView Where EquipmentID = XXX and EquipmentPortNum = YYY
我的问题是:一个比另一个有什么优势-esp wrt性能


由于我将从ORM调用视图,因此查询将具有参数化的筛选选项并生成缓存的执行计划,这意味着除非我错了,否则存储的过程将不会在视图上执行-这是否正确?

重复。。我自己问的问题

罗伯托·塞贝斯廷问了另一个问题


我希望您能在这些问题中找到答案。

为什么不使用UDF的可能重复项,因为这似乎就是您所描述的需要参数化的单个选择?除非你的ORM不支持它们…可能是