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

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

 

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

 

一:场景一:循环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;//模拟行数据缓存
            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:

说明:

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

 

2:改进后生成的SQL:

说明:

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

 

三:结论好处

 

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

转载于:https://my.oschina.net/secyaher/blog/274030

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值