|
本帖最后由 lshstruc 于 2015-6-15 11:20 编辑
今天对一个系统做了个数据量耐压测试:
计算机:I3处理器,4G内存,本地SQLSERVER,计算机裸奔内存占用50%,表记录340W条,20个字段,varchar,平均长度30
测试内容:1.打开全表,2.打开表立即gotonewrecord,3.用带参数的查询(存储过程)查询全部数据,查询(存储过程)绑定到窗体,打开窗体。
测试一:ADP+SQLSERVER2000,都是数据加载到100w左右的时候,出错,基本上不能超过120w,超过必然当掉,出错,无法打开,直接OTONEWRECORD失败,截图如下:
测试二:ODBC链接表方式,非常平稳,可以打开,直接GOTONEWRECORD成功,可以达到最后一条记录,图片如下:
两种都测试了5次,每次结果都一样,个人认为
1.ADP尝试加载了全部记录,但是失败了。
2.ODBC表面看起来是加载完了,实际上并未加载全部记录,直接跳到最后一条记录的时候,只加载最后的记录,而中间的都没加载,要看的时候才加载。
3.得出上面结论的原因之一,ODBC打开表后,我监测了本地MDB的文件体积从176kb增加到了1.6MB,远小于340W条记录的应有体积,
4.得出上面结论的原因之二,ODBC打开表后,计算机运行流畅,监测内存占用从50%增加到53%,而ADP打开的时候,内存占用从50%增加到95%,然后跳出出错对话框,内存占用上升停止,卡顿30S左右。
5.100w条记录,是以上配置的计算机ADP一次加载的极限。
6.ODBC采用内部控制机制,人为无法干预,ADP采用人为控制机制,可以手工设置或VBA设置加载最大记录数量,但是设置为0后,这个保护作用就没有了,直接导致出错。
7.欢迎批评指教。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|