分享改進(jìn) 高性能通用分表歸檔存儲(chǔ)過(guò)程測(cè)試結(jié)果更新
2011-12-14 13:00 熬夜的蟲(chóng)子 閱讀(926) 評(píng)論(0) 收藏 舉報(bào)因高層突然變卦 要以存儲(chǔ)過(guò)程來(lái)完成訂單的拆分歸檔工作 所以蟲(chóng)子的同步工具先暫時(shí)擱置一段時(shí)間。
詳細(xì)設(shè)計(jì)參考原理篇
更新一下測(cè)試結(jié)果 舊的測(cè)試結(jié)果放在下面 前一篇關(guān)于限制性開(kāi)源的文章先刪除 因?yàn)槭瞧髽I(yè)在用項(xiàng)目 所以不開(kāi)放性公布源碼了 有需要交流的同學(xué)可以單獨(dú)聯(lián)系蟲(chóng)子
更新內(nèi)容
解決了一些bug,例如以前按一級(jí)表、二級(jí)表、三級(jí)表...的順序刪除,結(jié)果導(dǎo)致一級(jí)表刪除后,二級(jí)表的數(shù)據(jù)讀取錯(cuò)誤。
優(yōu)化了過(guò)程安全,在3個(gè)階段進(jìn)行臨時(shí)表和游標(biāo)資源的check。降低預(yù)料外異常對(duì)程序的影響。
改變刪除的設(shè)計(jì)。
總的來(lái)說(shuō)不是從性能上更新,而是從業(yè)務(wù)角度保證數(shù)據(jù)的完整性
最新測(cè)試結(jié)果
500條

查看原圖 :http://pic002.cnblogs.com/images/2011/87114/2011121412594683.jpg
1000條

查看原圖 :http://pic002.cnblogs.com/images/2011/87114/2011121413012846.jpg
3000條

查看原圖 :http://pic002.cnblogs.com/images/2011/87114/2011121413020332.jpg
5000條

查看原圖 :http://pic002.cnblogs.com/images/2011/87114/2011121413024434.jpg
舊的測(cè)試結(jié)果
先曬下性能 測(cè)試環(huán)境 總共33張表 數(shù)據(jù)量如下


歸檔表初始化

先看批次500條的性能

看看運(yùn)行時(shí)間

2.342秒 !!!!!
看看我們插入了的數(shù)據(jù)是否準(zhǔn)確

OK源表的數(shù)據(jù)是500 或許大家對(duì)這組數(shù)據(jù)不以為然 但是你要明白 在33張?zhí)卮蟊碇羞M(jìn)行的操作 并且之間層級(jí)關(guān)聯(lián) 各種安全 容錯(cuò)處理
再清除一下 試試5000條


70秒 有木有 有木有 比預(yù)想的性能要差一些 因?yàn)?000條所涵蓋的事務(wù)太大

數(shù)據(jù)還是很完美
總的來(lái)說(shuō) 這樣的性能對(duì)于這樣的應(yīng)用場(chǎng)景 應(yīng)該沒(méi)有多少老大會(huì)不滿意了
先簡(jiǎn)單闡述一下概要 詳細(xì)查看 原理篇
源表:一般是指同步 歸檔等的主表 demo中以訂單頭表為例
一級(jí)表:以源表為關(guān)聯(lián)表的數(shù)據(jù)表
二級(jí)表:以一級(jí)表為關(guān)聯(lián)表的數(shù)據(jù)表
...
異常表:容錯(cuò)處理 用來(lái)存放異常數(shù)據(jù) 如果當(dāng)期批次出錯(cuò) 則將本次批次源表關(guān)聯(lián)鍵信息入庫(kù) 下一批次則過(guò)濾這些數(shù)據(jù)再執(zhí)行
減少I(mǎi)O的操作次數(shù) 用游標(biāo)循環(huán)源表來(lái)關(guān)聯(lián)一級(jí)表 二級(jí)表等 是很錯(cuò)誤的方案
理清層級(jí)關(guān)系 源表過(guò)濾數(shù)據(jù)副本化 如果一級(jí)表關(guān)聯(lián)的操作次數(shù)比較多那么可以模仿源表操作 以臨時(shí)表取代物理表 如果表關(guān)聯(lián)的操作次數(shù)不多可以直接生成數(shù)據(jù)過(guò)濾池
![]() |
原創(chuàng)作品允許轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始出處以及作者信息。 作者:熬夜的蟲(chóng)子 點(diǎn)擊查看:博文索引 |

浙公網(wǎng)安備 33010602011771號(hào)