我可以运行哪个最便宜的查询来查看表中是否有任何行?

Ric*_*ong 5 t-sql

我一直在使用sp_MSforeachtable内置存储过程来确定数据库中每个表的行数,使用COUNT(*).

我已经意识到,我只想要一个0或1,这取决于表中是否有任何行.

还有其他我可以使用的东西比COUNT(*)更快/更便宜吗?

p.c*_*ell 8

考虑这个查询.EXISTS将在找到第一个匹配时停止执行.

IF EXISTS (SELECT 1 FROM MyTable)
BEGIN
   print 'at least one!'
END
ELSE
BEGIN
   print 'no rows found in table'
END
Run Code Online (Sandbox Code Playgroud)