使用SQL中具有数十亿行的连接从查询中检索计数

时间:2016-03-11 20:19:10

标签: sql sql-server join

我找到了一种获得计数的更快方法,但只能指定一个表。

SELECT CONVERT(bigint, rows) 
FROM sysindexes 
WHERE id = OBJECT_ID('table_name') 
  AND indid < 2 

有没有办法在我们使用连接时使用上述查询。

例如:获取此查询的计数 -

 Select t1.col1, t2.col1 
 from t1 
 join t2 on t1.col2 = t2.col2

1 个答案:

答案 0 :(得分:0)

没有

您显示的sysindexes查询使用元数据来返回表的估计行数。它不一定是最新的;甚至可以撒谎(参见@ Ivan-starostin的链接)。

要完成您的连接,需要关联两个表并计算该关系的结果。这在理论上甚至不可能使用元数据;它需要查看实际数据。