框架設計:實現數據的按需更新與插入的改進--用數據對比進一步說明

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

在發布完:框架設計:實現數據的按需更新與插入的改進?之后:

?

有網友表示不理解,于是這里給出一篇簡單的說明對比,表示下改進后好處。

?

一:場景一:循環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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251656.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251656.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251656.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java異常詳解及如何處理

來源&#xff1a;Java異常詳解及如何處理 簡介 程序運行時&#xff0c;發生的不被期望的事件&#xff0c;它阻止了程序按照程序員的預期正常執行&#xff0c;這就是異常。異常發生時&#xff0c;是任程序自生自滅&#xff0c;立刻退出終止&#xff0c;還是輸出錯誤給用戶&…

端口以及服務常用cmd

netstat -ano 列出所有端口的情況 netstat -aon|findstr "49157" 查出特定端口的情況 tasklist|findstr "2720" 查看是哪個進程或者程序占用了PID端口的程序 打開任務管理器&#xff0c;切換到進程選項卡&#xff…

python學習筆記(二十八)日志模塊

我們在寫程序的時候經常會打一些日志來幫助我們查找問題&#xff0c;這次學習一下logging模塊&#xff0c;在python里面如何操作日志。介紹一下logging模塊&#xff0c;logging模塊就是python里面用來操作日志的模塊&#xff0c;logging模塊中主要有4個類&#xff0c;分別負責不…

TransactionScope 的基本原理簡介

C# 的事務編程 1 Db事務 DbConnection 中創建基于當前連接的 DbTransaction 2 使用TransactionScope ,創建環境事務 一旦創建&#xff0c;在這個環境包含的DbConnection 實例 都會根據連接字符串中的 Sqlserver 連接字符串支持&#xff0c;是否自動附加當前環境事務. 連接字符…

Canvas 生成交互動畫

2019獨角獸企業重金招聘Python工程師標準>>> 今天介紹的是一個HTML5交互動畫效果&#xff0c;難以置信。HTML5雖說還有很多東西在改進&#xff0c;但現在所能實現的 效果的程度我想是諸位很難想象得到的&#xff0c;實在是發展得太快了。 查看詳情 轉載于:https://m…

Spark記錄-Scala數據類型

Scala與Java具有相同的數據類型&#xff0c;具有相同的內存占用和精度。以下是提供Scala中可用的所有數據類型的詳細信息的表格&#xff1a; 序號數據類型說明1Byte8位有符號值&#xff0c;范圍從-128至1272Short16位有符號值&#xff0c;范圍從-32768至327673Int32位有符號值&…

二分搜索技術

2019獨角獸企業重金招聘Python工程師標準>>> 分治法的基本思想&#xff1a;將一個規模為n的問題&#xff0c;分解為k個規模較小的子問題&#xff0c;這些子問題互相獨立且與原問題相同。遞歸的解這些子問題&#xff0c;然后將各個子問題的解合并得到原問題的解。 經…

數據庫連接情況查詢

--sp_who 可以指定數據庫名&#xff0c;查詢指定數據庫的連接情況 sp_who go select DB_NAME(database_id) dbname, login_name, t1.session_id, t1.request_id, t2.status, t1.start_time, host_name from sys.dm_exec_requests t1inner join sys.dm_exec_sessions t2 on…

apachacxf項目使用@WebService報錯

首先去除已經導入的包那是因為我們要導入javaee的api,首先點擊最下面這個選擇自己電腦上的路徑然后就會自動導入上面的包,同時在jar庫上也會出現轉載于:https://www.cnblogs.com/fengnan/p/9311949.html

windows下redis 開機自啟動

1&#xff0c;在redis的目錄下執行&#xff08;執行后就作為windows服務了&#xff09;redis-server --service-install redis.windows.conf 2&#xff0c;安裝好后需要手動啟動redisredis-server --service-start 3&#xff0c;停止服務redis-server --service-stop 4&#xf…

Java中的屬性和方法

題目 實體類 測試類 轉載于:https://www.cnblogs.com/maoxiuying/p/9130361.html

《JavaScript》高級程序設計---第3章

3.基本概念 松散類型:所謂松散類型就是可以用來保存任何類型的數據。給未經聲明的變量賦值在嚴格模式下會導致拋出ReferenceError錯誤。Object本質上由一組無序的名值對組成。未經初始化的默認值就會取得undefined值。True和False都不是Boolean值&#xff0c;只是標識符。如果…

2019-06-13 Java學習日記之MySql

數據庫概述&#xff1a; 1、什么是數據庫&#xff0c;數據庫有什么作用&#xff1f; 數據庫就是存儲數據的倉庫&#xff0c;氣本質是一個文件系統&#xff0c;數據按照特定的格式將數據存儲起來&#xff0c;用戶可以對數據庫中的數據進行增加&#xff0c;修改&#xff0c;刪除及…

jquery 文件預覽功能

$(function() {$("#pic").click(function () {$("#upload").click(); //隱藏了input:file樣式后&#xff0c;點擊頭像就可以本地上傳$("#upload").on("change",function(){var objUrl getObjectURL(this.files[0]) ; //獲取圖片的路徑…

筆試小結---線程、進程

多進程:進程是資源分配的基本單位&#xff0c;它是程序執行時的一個實例。程序運行時&#xff0c;系統就會創建一個進程&#xff0c;并為它分配資源&#xff0c;然后把該進程放入進程就緒隊列&#xff0c;進程調度器選中它的時候就會為它分配CPU時間&#xff0c;程序開始真正運…

Spring security (一)架構框架-Component、Service、Filter分析

想要深入spring security的authentication &#xff08;身份驗證&#xff09;和access-control&#xff08;訪問權限控制&#xff09;工作流程&#xff0c;必須清楚spring security的主要技術點包括關鍵接口、類以及抽象類如何協同工作進行authentication 和access-control的實…

windows下手動安裝composer

1.下載compser.phar 地址 https://getcomposer.org/download/ 2.新建composer.bat 文件&#xff0c;寫入“php "%~dp0composer.phar" %*” 3.把composer.bat composer.phar 兩個文件放入 4.向環境變量里面寫人“;D:\phpStudy\php\php-5.4.45;D:\phpStudy\php\php-5…

寫更漂亮的javascript

用更合理的方式寫 JavaScript 目錄 聲明變量對象數組字符串函數箭頭函數模塊迭代器和生成器屬性變量提升比較運算符和等號代碼塊注釋空白逗號分號類型轉換命名規則聲明變量 1.1 使用let和const代替var 不會變的聲明用const//bad var $cat $(.cat)//good const $cat $(.cat)…

筆試小結---樹

平衡二叉樹(Balanced Binary Tree):又被稱為AVL樹,且具有以下性質:它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1&#xff0c;并且左右兩個子樹都是一棵平衡二叉樹。 二叉搜索樹&#xff1a;是一顆二叉樹&#xff0c;可能為空;若非空,則滿足以下特征: 1.每個元素有一…

iOS 快速實現分頁界面的搭建

級別&#xff1a; ★★☆☆☆ 標簽&#xff1a;「iOS」「分頁」「QiPageMenuView」 作者&#xff1a; 沐靈洛 審校&#xff1a; QiShare團隊 iOS 快速實現分頁界面的搭建 項目中我們經常會遇到滾動分頁的設計效果&#xff0c;被用來對不同數據界面的展示進行分類。我們先可以來…