[go: up one dir, main page]

sysindexes表中求SELECT COUNT(*)

SELECT COUNT(*)需要进行全表扫描返回表的行数,对于数据规模非常大的表来说,这是非常耗时的操作。

如果需要获取一个表的所有行数,应当考虑从系统表sysindexes中获取的替代方案。

在查询分析器中执行如下语句:

None.gif SET   STATISTICS  IO  ON
None.gif
GO
None.gif
SELECT   COUNT ( * FROM  E1日销售明细
None.gif
GO
None.gif
SELECT  rows  FROM  sysindexes  WHERE  id  =   OBJECT_ID ( ' E1日销售明细 ' AND  indid  <   2
None.gif
GO
None.gif
SET   STATISTICS  IO  OFF
None.gif
GO

返回的行数为13239473。

返回的消息显示——

(所影响的行数为 1 行)
表 'E1日销售明细'。扫描计数 68,逻辑读 51302 次,物理读 5 次,预读 49831 次。

(所影响的行数为 1 行)
表 'sysindexes'。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。

转载于:https://www.cnblogs.com/flysun0311/archive/2010/05/10/1731612.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值