第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

CYQ.Data 批量添加數(shù)據(jù)性能測試(每秒千、萬)

標(biāo)簽:
架構(gòu)

今天有网友火晋地同学进了CYQ.Data官方群了,他正在折腾了一个各大ORM性能测试的比较的软件,如下图

折腾的种类也不少:

 

感觉这软件折腾的不错~~~值的期待~~~

另外,他指出CYQ.Data 在他的软件里表现不佳~~~~

所以我要了他的测试实例看看是怎么写的测试代码:

测试的过程,大体是开了N个线程,循环N次执行这样的函数。

找到表现不佳的原因,并解决:

复制代码

中间纷纷绕绕的讲了一些各大ORM测试的实例编写不同问题,不过有一句,倒引起了我的注意,说平均400毫秒左右。

于是我本地测试了一下,结果找出AOP读取配置文件的一个小BUG,这个小BUG在每次new MAction时产生个被捕获的小异常,这个小异常不影响使用,但会占用2毫秒以上时间~~~

所以整个评测都是不断的new MAction的情况,就是大事件了,这就是整体评测都不佳的原因了。

复制代码

 

OK,修正这个小Bug后,下面来演示一下批量插入功能:

看看1万条数据,插入需要多长时间:

数据库为MSSQL 2005 CPU为i3,4G内存,数据表Consumer共4个字段。

每个示例前后都会truncate table  Consumer;

 

第一种编码方法:通过不断的new MAction来实现插入,1万条用了6秒多,平均每秒插入1600条左右:

 

 

 

 

第二种编码方法:把for往里面移动,先不开启事务,1万条用了4秒多,平均每秒插入2500条左右

 


 

 

第三种编码码方式,开启启事务呢,1万条用了2秒多,平均每秒插入4000条左右:

 

 

 

第四种编码方式:使用MDataTable的实现批量插入,1万条用了0.6秒多,平均每秒插入2万条左右:

 

 

事实上,时间是花在数据的实体转Table的过程,如果把这一块时间分出,只计算数据库批量插入的时间:

10万条用了0.8秒多,平均每秒插入10万条以上:

 

 

 

总结:

今天的测试,仅是做为样式供参考,不同的编码方式,实际上产生的性能点不同的,根据项目需要编程才是重点。

从07年开始写ORM框架,大大小小的框架写过很种风格,但真正的精华作品,却仅此一种。

另外其它多种ORM类型的比较,就等火晋地同学之文章了。

 

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消