极端情况下插入一条记录会耗费多长时间?

时间:2020-12-08 00:26:58
我用的Windows XP专业版,SQL server 2000,用odbc连接。以前用着没发现什么问题,后来数据库4G多,有时在软件退出的时候会报异常,提示odbc32.dll异常,错误地址0x0000135a,出现异常时计算机经常会有2分钟反应比较慢。这个情况会不会是我程序在存数据的时候有什么异常需要时间比较长,然后正好赶上退出程序释放了资源引起来的?这个情况是偶尔出,大概30次出一次。我程序在异常处理和线程间的同步做的不好。请大牛们帮我分析一下

我这么做实验,我用死循环存数据,大概每秒钟2000条左右,每天记录大概60个字节,把数据库存每天记录的时间都记了下来。我发现有时候一条记录需要几十秒,甚至200多秒,大概一个小时左右出现一次,出现的时候会报超时。每条记录插入都是用一条单独的SQL语句。


请大牛们帮我分析下为什么会有存储时间这么长的情况?

4 个解决方案

#1


这个不好说,硬件配置,表格设计都有影响。

#2


表不锁的情况下,一般会是硬盘是瓶颈》

#3


补充一下。插入时只在一个表进行操作,跟其他表没有任何交叉。计算机i7cpu,4g内存。如果硬盘是瓶颈,那么在什么情况下会表现出来?

#4


引用 3 楼 qq_28067641 的回复:
补充一下。插入时只在一个表进行操作,跟其他表没有任何交叉。计算机i7cpu,4g内存。如果硬盘是瓶颈,那么在什么情况下会表现出来?


我一般是看资源监视器,监测一下磁盘,看看sql的磁盘读写是不是很大。

#1


这个不好说,硬件配置,表格设计都有影响。

#2


表不锁的情况下,一般会是硬盘是瓶颈》

#3


补充一下。插入时只在一个表进行操作,跟其他表没有任何交叉。计算机i7cpu,4g内存。如果硬盘是瓶颈,那么在什么情况下会表现出来?

#4


引用 3 楼 qq_28067641 的回复:
补充一下。插入时只在一个表进行操作,跟其他表没有任何交叉。计算机i7cpu,4g内存。如果硬盘是瓶颈,那么在什么情况下会表现出来?


我一般是看资源监视器,监测一下磁盘,看看sql的磁盘读写是不是很大。