根据某些标准获取行数的最快方法是什么?
我有一张桌子:transactions(id int (PK), userId int, typeId int, dateCreated date, (and about 5-6 additional columns))
这个表有数百万行。
现在,我需要检索此table...the标准中记录的计数。count可以是一到三列的任意组合,(userId, typeId, dateCreated)和dateTime可以是"from“和" to”。
为了以最快的方式获得计数,查询和索引应该是什么?是否可以只使用索引/统计信息来获取行数,而不读取实际的表数据?
在这种情况下,count(*)和count(id)是否会对性能产生影响?
谢谢。
发布于 2014-03-05 19:43:04
你可以从索引中得到它,我不确定它是100%准确的,但是你不会错过超过几行的计数。
select ob.name, ix.rowcnt
from sys.sysindexes ix
join sys.sysobjects ob ON ix.id = ob.id
where ob.xtype = N'U' and ob.name = N'MyTable'注意:通过这种方式,您可以一次获得所有表的计数。obs:注意,它将为表中的每个索引返回值
https://stackoverflow.com/questions/19976324
复制相似问题