读书人

row_number()over函数的施用(转)

发布时间: 2013-01-23 10:44:49 作者: rapoo

row_number()over函数的使用(转)

建立数据表,插入相应数据。表结构如下,Id为自增长主键:

row_number()over函数的施用(转)

插入100万条测试数据:

孰优孰劣

以下两种情况,同样取500000到500100中间的数据。

1、使用ROW_NUMBER()函数。

SQL语句如下:

2、使用TOP加NOT IN方法。

SQL语句如下:

好吧,一起执行看看结果:

row_number()over函数的施用(转)

或者你认为SQL存在缓存的问题,把两部分顺序对掉一下:

row_number()over函数的施用(转)

以上是百万数据量的对比,再看看1万条数据下的对比:

row_number()over函数的施用(转)

结论

通过以上对比可以我们可以得到这样的结论:在小数据量下(一般应该认为是10万以下,TOP+NOT IN分页方式效率要比ROW_NUMBER()高;在大数据量下(百万级)ROW_NUMBER()分页方式效率要更高一些。

读书人网 >其他数据库

热点推荐