关于查询优化

Jenyli2004 2006-12-30 11:20:29
使用vb+SQL2000做一张统计表,表格每一单元都要进行计算,速度很慢(3-4)分钟,每个sql语句都是 select count(*)...where...,连接了2-3个表,where子句很复杂,已经使用了存储过程、加了索引还是慢,请问如何改进(推荐这方面的书也可以)
...全文
130 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fj182 2007-01-08
  • 打赏
  • 举报
回复
如果计算量太大无法再优化的话,你可以把计算报表的部分做成COM+组件,排队调用,异步执行,操作系统会选择一个适当的时机来处理。用外部程序来监视处理进度.
Jenyli2004 2007-01-08
  • 打赏
  • 举报
回复
没人回答了么?
Jenyli2004 2007-01-04
  • 打赏
  • 举报
回复
请问能否提供具体书名、出版社?
我用的是公用函数(该函数调用存储过程),通过传递参数多次调用
plsandslp 2006-12-31
  • 打赏
  • 举报
回复
是不是记录集声明得太多了,观察下内存占有
iamtsfw 2006-12-31
  • 打赏
  • 举报
回复
推荐这方面的书:邹建的书估计你能用上
Jenyli2004 2006-12-31
  • 打赏
  • 举报
回复
基本上每一个表格(40列100行)计算条件都不一样,有40个条件(列),项目(行)倒是一个字段,但一个项目可对应一个字段的多个值,累加的项很少;
另外,
我已经用select count(1)了
yangao 2006-12-30
  • 打赏
  • 举报
回复
select count(*)
改为
select count(1)

select count(主键)
qiangsheng 2006-12-30
  • 打赏
  • 举报
回复
这样的表肯定有一些规律的,还不如一次把数据全部取出来,然后用结果集循环来进行累加,可能还快点。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧