有網友表示不了解,于是這裡給出一篇簡單的說明對比,表示下改進後好處。
一:場景一:循環5次,同樣也是重複送出的問題
using (maction action = new maction(tablenames.blog_user))
{
for (int i = 0; i < 5; i++)
{
action.set(users.id, 18);
action.set(users.username, "cyq1162");
action.update();
}
response.write(action.debuginfo);//輸出調試資訊
}
1:舊模式生成的sql:
說明:
我們很直覺的看到它重複的更新了5次。
2:改進後生成的sql:
改進後,隻是更新一次,其它四次并沒有操作資料庫。
二:場景二:子產品緩存場景,其實和第一場景相似
mdatarow userinfo=null;//模拟行資料緩存
if (action.fill(18))
userinfo = action.data;
using (maction action = new maction(userinfo))//從緩存加載
action.set(users.username, "cyq1162");
action.update();
response.write(action.debuginfo);
無論存不存在緩存,更新同樣被觸發。
有緩存資料時,相同的資料更新,則不會再被更新。
三:結論好處
版權聲明:本文原創發表于部落格園,作者為路過秋天,原文連結:
http://www.cnblogs.com/cyq1162/archive/2011/04/04/2005299.html