首页 > 其他分享 >框架设计:实现数据的按需更新与插入的改进--用数据对比进一步说明

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

时间:2022-09-29 23:05:30浏览次数:74  
标签:缓存 -- MAction 更新 插入 改进 SQL action 数据

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

 

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

 

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

框架设计:实现数据的按需更新与插入的改进--用数据对比进一步说明_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

说明:

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

 

三:结论好处

 

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

标签:缓存,--,MAction,更新,插入,改进,SQL,action,数据
From: https://blog.51cto.com/cyq1162/5724361

相关文章

  • 框架设计:实现数据的按需更新与插入的改进
    首先感谢dudu发了这么一篇:​​博客园现代化建设—准备用EntityFramework实现数据的按需更新​​ 在帖子的第十六楼,我留下了这样的留言:路过秋天:这是一个复杂又冲突的设计问......
  • RabbitMQ 入门系列:9、扩展内容:死信队列:真不适合当延时队列。
    系列目录RabbitMQ入门系列:1、MQ的应用场景的选择与RabbitMQ安装。RabbitMQ入门系列:2、基础含义:链接、通道、队列、交换机。RabbitMQ入门系列:3、基础含义:持久化、排它性、......
  • 秋色园QBlog技术原理解析:页面内容填充及多语言翻译流程演示示例(十)
    文章回顾:1:​​秋色园QBlog技术原理解析:开篇:整体认识(一)​​--介绍整体文件夹和文件的作用2:​​秋色园QBlog技术原理解析:认识整站处理流程(二)​​--介绍秋色园业务处理......
  • 秋色园QBlog V2.5 后台管理系统源码发布下载
    题外话:上周时本来是计划本周一要发布,不过计划不如变化快。 由于周六下午发布了​​​​​​ 的相关文章,瞬时有大量爱好​​.NET​​开源激情者加入,光聊天,就折腾了我不少时......
  • 秋色园QBlog技术原理解析:页面Post提交机制(十一)
    文章回顾:1:​​秋色园QBlog技术原理解析:开篇:整体认识(一)​​--介绍整体文件夹和文件的作用2:​​秋色园QBlog技术原理解析:认识整站处理流程(二)​​--介绍秋色园业务处理......
  • 秋式开源团队:权限管理系统需求与分析
    以下为正文内容:项目的目标提供一个调用简单、可复用性高、满足一般需求的权限管理模块。为需要对权限管理的系统节省开发本。产品的用户开发基于.net且权限管理较为复杂的系......
  • 2022_9_29
    ......
  • 随说秋色园从Access升迁到MSSQL过程
    ​ ​​秋色园​​的运行环境概况:目前运行在国外godaddy的虚拟主机的一个子目录中,数据库为Access。 随说Access分页:​ 1:topmax(id)在​​CYQ.Data​​数据框架支持上Ac......
  • CYQ.Data 数据框架 跨平台应用开发
    为大伙揭开了​​CYQ.Data​​的性能体验,在写数据方面,表现的相当接近原始的ADO.NET操作。​ 那在数据读取方面呢?有兴趣的朋友可自行测试一下。​ 本篇为你揭开的是:​​CY......
  • DOM文档对象模型
    目录​​DOM的概念​​​​HTMLDOM 的方法和属性​​​​代码举例​​DOM的概念DOM,全称DocumentObjectModel,是一个平台和语言都中立的接口,可以使程序和脚本能够动态访问......