可以在分页之前获取SQL Server中的总行数吗?

时间:2019-05-03 02:20:00

标签: sql sql-server

我在SQL Server中有以下查询:

select * from sales

这返回大约十亿行,我需要处理数据。我想显示数据处理过程中的进度,如下所示:

res=conn.execute('select * from sales s1')
total_rows = ?
processed_rows = 0
step_size = 10000
while True:
    data = res.fetchmany(step_size)
    processed_rows += step_size
    print "Progress: %s / %s" % (processed_rows, total_rows)

是否有一种方法可以在不运行另一个查询的情况下获取SQL查询中的总行数(或执行诸如len(res.fetchall())之类的操作,这将增加上述操作的很多开销)?

注意:我对此处的分页内容不感兴趣(应该这样做)。这是一个更多的问题,以查看在对数据进行分页/处理之前,是否有可能在SQL Server的查询中获得TOTAL ROW COUNT。

0 个答案:

没有答案