我用的是vb6+ms sql。以下是我的查询语句select 性别,count(姓名) as 人数,avg(年龄) as 平均年龄 from 人事档案信息表 group by 性别 程序里要大概8秒钟,但是我把语句直接放在查询分析器里执行非常快,一秒都不到就查出来了。以下是我的代码:Adodc1.ConnectionString = connstr
Adodc1.CommandType = adCmdText
select 性别,count(姓名) as 人数,avg(年龄) as 平均年龄 from 人事档案信息表 group by 性别
Adodc1.Refresh //就在这句这里很慢大家帮分析下原因。我数据库里的表 字段都是用中文的。
Adodc1.CommandType = adCmdText
select 性别,count(姓名) as 人数,avg(年龄) as 平均年龄 from 人事档案信息表 group by 性别
Adodc1.Refresh //就在这句这里很慢大家帮分析下原因。我数据库里的表 字段都是用中文的。
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.Command
Set cmd.ActiveConnection = cn
rs.CursorLocation = adUseClient注意最后一句,使用的就是客户端游标,
这样执行rs.open时,
效率比使用rs.CursorLocation = adUseServer 服务端光标高效
set @sql='select 性别,count(姓名) as 人数,avg(年龄) as 平均年龄 from 人事档案信息表 group by 性别'
exec(@sql)
可以用这种思路做吗?