0
点赞
收藏
分享

微信扫一扫

框架设计:实现数据的按需更新与插入的改进--用数据对比进一步说明

在发布完:​​框架设计:实现数据的按需更新与插入的改进​​ 之后:

 

有网友表示不理解,于是这里给出一篇简单的说明对比,表示下改进后好处。

 

一:场景一:循环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:

框架设计:实现数据的按需更新与插入的改进--用数据对比进一步说明_缓存_02

说明:

改进后,只是更新一次,其它四次并没有操作数据库。

 

二:场景二:模块缓存场景,其实和第一场景相似

 

          

MDataRow userInfo=null;//模拟行数据缓存
using (MAction action = new MAction(TableNames.Blog_User))
{
if (action.Fill(18))
{
userInfo = action.Data;
}
}
using (MAction action = new MAction(userInfo))//从缓存加载
{
action.Set(Users.UserName, "cyq1162");
action.Update();
Response.Write(action.DebugInfo);
}​

1:旧模式生成的SQL:

框架设计:实现数据的按需更新与插入的改进--用数据对比进一步说明_缓存_03

说明:

无论存不存在缓存,更新同样被触发。

 

2:改进后生成的SQL:

框架设计:实现数据的按需更新与插入的改进--用数据对比进一步说明_数据_04

说明:

有缓存数据时,相同的数据更新,则不会再被更新。

 

三:结论好处

 

实质性的减少数据库操作,从​​数据框架​​底层有效的防止无效的点击事件。

举报

相关推荐

0 条评论