SQL Server-聚焦ROW_NUMBER VS TOP N性能
原文: SQL Server-聚焦ROW_NUMBER VS TOP N性能 前言 抱歉各位,从八月份开始一直在着手写EntityFramework 6.x和EntityFramework Core 2.0的书籍写作,所以最近一直遗漏了对博客的管理,后面会着手于写SQL Server、EntityFramework Core和.NET Core方面的博客。我们知道如果需要查询前N行数据,除了可以利用TOP N进行查询外,同样也可以利用ROW_NUMBER来达到同样的效果,那么二者使用哪个性能会更好呢?下面我们来比较下。 ROW_NUMBER VS TOP N 我们利用AdventureWorks2012示例库中的Production.Product表来进行演示,如下: DBCC DROPCLEANBUFFERS() DBCC FREEPROCCACHE() GO --ROW_NUMBER QUERY SELECT ProductID FROM ( SELECT ProductID, ROW_NUMBER() OVER (ORDER BY ProductID) AS RN FROM Pr...
