Delphi Adoquery 查询语句中有 select Count(字段) 查询速度很慢解决思路

Delphi Adoquery 查询语句中有 select Count(字段) 查询速度很慢
我之前是用Web技术实现三层架构,中间层是正常的TADOConnection加TADOQuery。
有些操作速度慢,我以为是三层原因。有次全程跟踪下发现是两个很简单的查询语句导致速度慢的,'Select Y=count(*) from SizeGroupMaster where fsign = 0',另一个也差不多!检查过后才发现,是因为在查询语句里加了Count,Max等聚合函数才会使用查询速度变很慢,这句要5秒,而我用'Select * from SizeGroupMaster where fsign = 0'速度却不到1秒。就算我使用TADOConnection加TADOQuery直接连数据库速度也一样慢。
后来又找到了一个不正规的解决方法'select * from (Select Y=count(*) from SizeGroupMaster where fsign = 0) a'。把有聚合函数的查询语句嵌套在内部查询速度就变正常了!
各位大虾,能不能帮我找到原因!
delphi  select Count(字段) 查询速度慢

------解决方案--------------------
试第一个语句的速度, 如果还慢, 试第二个语句
如果第二个语句够快, 查看你fsign 字段有没有索引, 没有的话, 加索引试试.
-----------------------------------------------------------------------
1  Select Y=count(1) from SizeGroupMaster where fsign = 0

2 Select Y=count(1) from SizeGroupMaster

------解决方案--------------------
不应该是COUNT引起的吧。

你用的什么数据库
------解决方案--------------------
你是用的是什么数据库

------解决方案--------------------
用Count(*)要地方换成Count(0),这样应该会比Count(*)快一点!
------解决方案--------------------
尽量不要用count *或者select *

使用*会让数据库需要做额外的操作
导致更好使
尽量传入明确的字段或字段序列