加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

数据条数太多,插入到数据库有延迟,怎么解决?

发布时间:2022-12-20 16:34:47 所属栏目:MySql教程 来源:互联网
导读: 用ASHX页面接收客户端收到的JSON 字符串然后做解析后返回确认值。
由于JSON 字符串里面有很多条目,所以一个客户端的数据会插入数据N条数据。
代码基本是这样的
----解析JSON成array类型
f

用ASHX页面接收客户端收到的JSON 字符串然后做解析后返回确认值。

由于JSON 字符串里面有很多条目,所以一个客户端的数据会插入数据N条数据。

代码基本是这样的

----解析JSON成array类型

for i=1 to arraylist.number

{

---insert into database

----cmd.ExecuteNonQuery();

}

---返回客户端表示确认已经收到

现在的问题是客户端接收到返回值超级慢,经过排查排除IIS,CPU,内存,网络,程序问题和数据连接问题。

当注释掉cmd.ExecuteNonQuery();这句话的时候返回值很快,说明在数据库插入的时候出现问题。有个现象,当注释掉cmd.ExecuteNonQuery()的时候在看数据插入的数据表数据库插入操作,竟然过了30,40秒还陆陆续续有数据进来,说明之前的数据一直都在SQLserver缓冲里面排队等待插入

插入的数据表就5列,其中一个自增列,一个接收的时间作为索引,其他是数据信息,去掉索引后问题依旧。用自增ID可以大概监测到每秒会有1000条数据进来。

基本可以肯定是客户端数量太多,客户端发一条json数据过来,我这边解析后都会有N条数据需要插入,同时需要即时返回“已经收到”给客户端。

有网友说把收到的一批数据先缓存到dataset,我认为实际上跟现在是一样的,都是要循环一条条插入,本质上是由于硬盘读入瓶颈造成。

有什么方法可以让数据插入到数据表更快些?多建几个相同的表,然后再插入前随机分配到插入数据表有用吗 ?或者说用SSD?

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!