如果我在视图中使用NEWID那么它将需要1毫秒,为什么在View中添加ROW_NUMBER需要花费太多时间来执行?
ALTER VIEW [dbo].[d]
AS
SELECT
NEWID() AS Id,
p.XX
,p.xx
FROM [view_XXX] as P
GO
select * .view_d where code='xxxx'
但如果我使用ROW_NUMBER将太多的时间来完成,
ALTER VIEW [dbo].[d]
AS
SELECT
Row_number()OVER(ORDER BY T.XXXXXX) AS Id,
p.XX
,p.xx
FROM [view_XXX] as P
GO
select * .view_d where code='xxxx'
由于有'ORDER BY',我会想。该列是否有覆盖索引? – Raj
@Raj然后是什么解决方案。 – user960567
查看答案。每个人都给你很完美的答案。如果你需要使用'ROW_NUMBER()',那么在'ORDER BY'中使用的列创建一个索引将会有所帮助,但是不能匹配'NEWID()'的速度。 – Raj