千万数据 mssql2005 select count(*) 很慢,求高人指点

2024-12-17 11:30:44
推荐回答(3个)
回答1:

这个语句并没有用到索引,属于全表遍历,所以和语句关系不大,和机器系统性能关系较大,虽然你的机器配置不低,但你在建立数据库方面可能还有优化的余地,可以参照系统管理文档尝试对数据库配置进行优化
另外,如果使用count(1)可以减小对资源的开销

回答2:

try:
CREATE INDEX idx_tablename ON tablename(id)
SELECT COUNT(ID) FROM tablename

创建主键同时创建的是聚集索引,不清楚为什么查询count会很慢,另外再创建一个非聚集索引,查询count就快多了

回答3:

用 select count(id),由于id具有索引的作用,速度应该会快一些