大神指点提高sqlserver的写入速度
一个类似生产者消费者问题的系统,一个线程采集数据存入内存中开辟的缓冲区,另一个线程从缓冲区取数据存入sqlserver数据库,存储部分的代码大致如下:
m_pRecorset->AddNew();
m_pRecorset->PutCollect
……
m_pRecorset->Update();
vc + ADO的方式连接数据库,数据表前三个字段很简单,第四个字段是image类型的,大小为2000个float数,在存本地数据库的时候每秒存100条记录的时候数据就开始在缓冲区积压了,连局域网其他数据库更差劲,每秒40条记录已经是极限了……
各位好心的大神帮帮忙,怎样优化一下,关于ado存储这一块不是很熟,网上有说用UpdateBatch,不知道怎么用,能凑效不 sqlserver 存储 数据库 image
[解决办法]
1、尽量把对SQLServer的操作放到SQLServer层面上做。
2、对应的表上索引、约束尽可能少,除非必要。
3、把数据库恢复模式改成大容量日志或者简单模式。
4、可以降低索引页的填充因子。
[解决办法]