一些东西激起了我的好奇心(不过在我的代码中没有问题,只是一个一般性的问题)。SQL SQL中的聚合函数是如何工作的?它背后的机制是什么?
假设我们有一个999,999,999行的表,我们只想获得该表中的行数。
SELECT Count(*)
FROM <Table>
这个聚合函数是逐行扫描整个表,以获得表中的行数,还是有一个内部表在向表中添加/删除行(通过系统存储过程访问)时跟踪其中的行数,这样的函数是否会使用更多的CPU,或者是否会使用更多的I/O读/写时间?
附言:我读了This MSDN site,但不幸的是它没有回答我的问题。
谢谢
发布于 2013-04-02 18:24:52
如果可能,它将运行并索引扫描,否则将运行表扫描。
Set SHOWPLAN_TEXT on
go
SELECT Count(*)
FROM <Table>
https://stackoverflow.com/questions/15761299
复制相似问题