C
cytown
Unregistered / Unconfirmed
GUEST, unregistred user!
发现一个严重的问题, 我用了ODBC98/ODBC EXPRESS做一个程序, 运行时
发现在做遍历查询时出现错误, TEMPDB容量不够! 我的TEMPDB是20M RAM,
而查询的仅是4~5K记录的3个库. 后来用PERFORMANCE MONITOR发现I/O
TRANSACTION/SEC到达100%, 约5-6秒后告诉我出错. 查询速度也是很慢.
我再用SQL TRACE查看, 发现他们用的查询都是用CURSOR, 进行遍历, 怪不
得@$%^$^$^%&^*. 后来, 我试了下BDE, 呵呵,不出错了, 最高才到70~80%,
而且速度快很多, 再看看TRACE, 发现没用CURSOR, 用标准SQL(SELECT ...)
返回结果很快.
以前我总认为BDE不好, 想不到在大密集查询时性能如此好.
是我配置错误还是确实ODBC构件有问题? 请各位告知.
附, 全部构件和BDE都是缺省配制, 环境: SQLSERVER 6.5SP5 + NTSP4
发现在做遍历查询时出现错误, TEMPDB容量不够! 我的TEMPDB是20M RAM,
而查询的仅是4~5K记录的3个库. 后来用PERFORMANCE MONITOR发现I/O
TRANSACTION/SEC到达100%, 约5-6秒后告诉我出错. 查询速度也是很慢.
我再用SQL TRACE查看, 发现他们用的查询都是用CURSOR, 进行遍历, 怪不
得@$%^$^$^%&^*. 后来, 我试了下BDE, 呵呵,不出错了, 最高才到70~80%,
而且速度快很多, 再看看TRACE, 发现没用CURSOR, 用标准SQL(SELECT ...)
返回结果很快.
以前我总认为BDE不好, 想不到在大密集查询时性能如此好.
是我配置错误还是确实ODBC构件有问题? 请各位告知.
附, 全部构件和BDE都是缺省配制, 环境: SQLSERVER 6.5SP5 + NTSP4