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

简介:

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

 

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

 

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

说明:

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

 

三:结论好处

 

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

相关文章
|
4月前
|
SQL 索引
业务系统架构实践问题之想要再SQL代码中生成递增序列,那么步骤问题如何解决
业务系统架构实践问题之想要再SQL代码中生成递增序列,那么步骤问题如何解决
|
6月前
|
缓存 架构师 NoSQL
五种更新缓存的组合方式
【4月更文挑战第19天】更新缓存的步骤特别简单,共两步:更新数据库和更新缓存。但这简单的两步中需要考虑很多问题。
|
11月前
|
Cloud Native 前端开发
【性能优化上】第三方组织结构同步优化一,分状态,分步骤的设计,你 get 到了吗?
【性能优化上】第三方组织结构同步优化一,分状态,分步骤的设计,你 get 到了吗?
|
算法 Python
多变的夏普率(一)(2022-03-18更新)
多变的夏普率(一)(2022-03-18更新)
233 0
多变的夏普率(一)(2022-03-18更新)
|
前端开发
前端知识案例1-依赖收集1-问题解决 原
前端知识案例1-依赖收集1-问题解决 原
56 0
前端知识案例1-依赖收集1-问题解决 原
|
前端开发 JavaScript 数据库
(简易)测试数据构造平台: 14 (工具列表删除功能前端)
(简易)测试数据构造平台: 14 (工具列表删除功能前端)
(简易)测试数据构造平台: 14 (工具列表删除功能前端)
|
前端开发
两个数组数据的高效合并方案
作为一个前端,服务器返回的数据易用,能极大的提升开发效率。 能一个接口提供的数据,就不要用去调用两次或者更多网络请求,然后进行数据合并。 然而,理想和现实两者,现实总是找我,感觉不到理想对的温暖。
264 0
两个数组数据的高效合并方案
|
SQL 关系型数据库 MySQL
mysql索引_效率测试(包含测试sql脚本300万条数据),可用作教学案例。
mysql索引_效率测试(包含测试sql脚本300万条数据),可用作教学案例。
309 0
mysql索引_效率测试(包含测试sql脚本300万条数据),可用作教学案例。
|
算法 数据库
【自然框架】元数据的数据库结构的详细说明和示例(一):项目描述部分
自然框架在线演示:  http://pthuanyu.com/   【自然框架】PowerDesigner 格式的元数据的表结构   自然框架的源码、Demo、数据库、说明文档的下载,还是老地方:自然框架的源代码、Demo、数据库、配置信息管理程序下载(2010.
961 0
下一篇
无影云桌面