事務相關、不可重復讀與幻讀的區別

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

事務內嵌套事務:
? 1) 都用spring事務時,取決spring采用的事務的隔離級別。
? ? 這個默認隔離級別是與具體的數據庫相關的,采取的是具體數據庫的默認隔離級別,不同的數據庫是不一樣的。
? ? 如是同一事務,事務有傳播性:
? ? 在有事務的方法A內執行修改,再于A內調用有事務的方法B執行修改同一字段,
? ? B用的是A的事務,可以拿到A手中的寫鎖,2次修改都執行成功。?
? 2) 如果方法A用spring的事務,方法B用代碼事務,是2個不同事務。
? 3) 在主線程中開子線程,并分別在主、子線程中執行修改,則是2個不同事務,
? 4) 只要是2個不同的事務,就會造成寫鎖等待。
? ? 只有當先拿到寫鎖的修改方法的事務提交或回滾后,另一個線程的修改方法才能拿到寫鎖,第2次修改才能執行。
??
? 5) 另外:read-only只讀事務作用:多條查詢SQL必須保證整體的讀一致性,
? ? 否則,在前條SQL查詢之后,后條SQL查詢之前,數據被其他用戶改變,
? ? 則該次整體的統計查詢將會出現讀數據不一致的狀態,此時,應該啟用只讀事務支持
? ??
? 6) 事務ACID四個屬性;
? ? 原子性(atomicity)、一個事務是一個不可分割的工作單位,事務中包括的操作要么都做,要么都不做。
? ? 一致性(consistency)、事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態。
? ? ? ? ? ? ? ? ? ? ? ? ? 比如:A扣款了,B就收款了。
? ? 隔離性(isolation)、一個事務的執行不能被其他事務干擾,并發執行的各個事務之間不會互相干擾。
? ? 持久性(durability)、指一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。
? ? ? ? ? ? ? ? ? ? ? ? ? 接下來的其他操作或故障不應該對其有任何影響。
? ? ? ? ? ? ? ? ? ? ? ? ??
? 7) 默認隔離級別: Read Commited--------Sql Server、Oracle.?
? ? ? ? ? ? ? ? ? Repeatable Read ------- MySQL 、InnoDB存儲引擎?
? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? read committed:開啟一個事務,讀一個數據,而后再次讀,這2次可能不一樣的,
? ? ? ? ? ? ? ? ? ? 因為在這2次讀之間可能有其他事務更改這個數據,這也就是讀提交,
? ? ? ? ? ? ? ? ? ? 每次讀到的數據都是已經提交的(行級鎖,不鎖間隙)。
? ? ? ? ? ? ? ? ? read repeatable:開啟一個事務,讀一個數據,而后再次讀,這2次讀的數據是一致的(行級鎖且是鎖間隙);
? ? ? ? ? ? ? ?
? 8) 不可重復讀與幻讀的區別:
? ? 不可重復讀的重點是修改,同樣的條件,你讀取過的數據,再次讀取出來發現字段值不一樣了。
? ? 幻讀的重點在于新增或者刪除,同樣的條件,第 1 次和第 2 次讀出來的記錄總條數不一樣。
??

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

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

相關文章

onload事件

onload事件它只支持少量標簽<body>, <frame>, <iframe>, <img>, <input type"image">, <link>, <script>, <style> 不支持<div>,<p>標簽等 所以&#xff0c;在div使用onload事件時該怎么辦呢。。。轉載…

Eclipse GBK批量轉UTF-8插件(轉)

最近需要把Android項目轉Android Studio&#xff0c;由于之前是eclipse開發&#xff0c;而且坑爹的是編碼還是GBK的&#xff0c;轉到Android Studio中文都是亂碼&#xff0c;如果一個文件一個文件ctrlc的話&#xff0c;想想就累&#xff0c;幾經Google&#xff0c;發現一個很好…

網絡爬蟲--15.【糗事百科實戰】多線程實現

文章目錄一. Queue&#xff08;隊列對象&#xff09;二. 多線程示意圖三. 代碼示例一. Queue&#xff08;隊列對象&#xff09; Queue是python中的標準庫&#xff0c;可以直接import Queue引用;隊列是線程間最常用的交換數據的形式 python下多線程的思考 對于資源&#xff0…

淺談:國內軟件公司為何無法做大做強?

縱覽,國內比較大的軟件公司(以下統一簡稱"國軟"),清一色都是做政府項目的(他們能做大的原因我就不用說了吧),真正能做大的國軟又有幾家呢?這是為什么呢? 今天風吹就給大家簡單分析下: 1."作坊"式管理 "作坊"往往是效率最高的,國軟幾乎都是從作…

Java SE、Java EE、Java ME三者的區別

說得簡單點 Java SE 是做電腦上運行的軟件。 Java EE 是用來做網站的-&#xff08;我們常見的JSP技術&#xff09; Java ME 是做手機軟件的。 1. Java SE&#xff08;Java Platform&#xff0c;Standard Edition&#xff09;。Java SE 以前稱為 J2SE。它允許開發和部署在桌面、…

FileBeats安裝

FileBeats安裝 FileBeats官方下載鏈接&#xff1a; https://www.elastic.co/downloads/beats/filebeat 也可以直接使用以下命令下載&#xff08;文章下載目錄一概為/home/tools, 解壓后文件夾放到 /home/apps下&#xff09; wget https://artifacts.elastic.co/downloads/beats…

《程序員代碼面試指南》第三章 二叉樹問題 二叉樹節點間的最大距離問題

題目 二叉樹節點間的最大距離問題 java代碼 package com.lizhouwei.chapter3;/*** Description:二叉樹節點間的最大距離問題* Author: lizhouwei* CreateDate: 2018/4/16 19:33* Modify by:* ModifyDate:*/ public class Chapter3_20 {public int maxDistance(Node head) {int[…

MySQL中函數CONCAT及GROUP_CONCAT 對應oracle中的wm_concat

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、CONCAT&#xff08;&#xff09;函數 CONCAT&#xff08;&#xff09;函數用于將多個字符串連接成一個字符串。 使用數據表Info作為…

網絡爬蟲--16.BeautifulSoup4

文章目錄一. BeautifulSoup4二. 解析實例三. 四大對象種類1. Tag2. NavigableString3. BeautifulSoup4. Comment四. 遍歷文檔樹1.直接子節點 &#xff1a;.contents .children 屬性1). .contents2). .children2. 所有子孫節點: .descendants 屬性3. 節點內容: .string 屬性五. …

Intel MKL 多線程設置

對于多核程序&#xff0c;多線程對于程序的性能至關重要。 下面&#xff0c;我們將對Intel MKL 有關多線程方面的設置做一些介紹&#xff1a; 我們提到MKL 支持多線程&#xff0c;它包括的兩個概念&#xff1a; 1>MKL 是線程安全的&#xff1a; MKL在設計時&#xff0c;就保…

【LA3415 訓練指南】保守的老師 【二分圖最大獨立集,最小割】

題意 Frank是一個思想有些保守的高中老師。有一次&#xff0c;他需要帶一些學生出去旅行&#xff0c;但又怕其中一些學生在旅行中萌生愛意。為了降低這種事情發生的概率&#xff0c;他決定確保帶出去的任意兩個學生至少要滿足下面四條中的一條。 1.身高相差大于40厘米 2.性別相…

行車記錄儀穩定方案:TC358778XBG:RGB轉MIPI DSI芯片,M-Star標配IC

原廠&#xff1a;Toshiba型號&#xff1a;TC358778XBG功能&#xff1a;TC358778XBG是一顆將RGB信號轉換成MIPI DSI的芯片&#xff0c;最高分辨率支持到1920x1200&#xff0c;其應用圖如下&#xff1a;產品特征&#xff1a;MIPI接口&#xff1a;&#xff08;1&#xff09;、支持…

java.sql.SQLException: 無法轉換為內部表示之解決

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 這個錯是因為 數據庫中字段類型和程序中該字段類型不一致。 比如程序將某字段當做Integer類型&#xff0c; 而數據庫存儲又使用另外一…

網絡爬蟲--17.【BeautifuSoup4實戰】爬取騰訊社招

文章目錄一.要求二.代碼示例一.要求 以騰訊社招頁面來做演示&#xff1a;http://hr.tencent.com/position.php?&start10#a 使用BeautifuSoup4解析器&#xff0c;將招聘網頁上的職位名稱、職位類別、招聘人數、工作地點、發布時間&#xff0c;以及每個職位詳情的點擊鏈接…

public static void main(String[] args)的理解

public:權限修飾符&#xff0c;權限最大。static:隨著MianDemo類的加載而加載&#xff0c;消失而消失。void: 沒有返回值main: 函數名&#xff0c;jvm識別的特殊函數名(String[] args):定義了一個字符串數組參數。這個字符串數組是保存運行main函數時輸入的參數的

Miller-Rabin素數測試

Miller-Rabin素數測試 給出一個小于1e18的數&#xff0c;問它是否為質數&#xff1f;不超過50組詢問。hihocoder 我是真的菜&#xff0c;為了不誤導他人&#xff0c;本篇僅供個人使用。 首先&#xff0c;一個1e18的數&#xff0c;樸素\(O(\sqrt{n})\)素數判定肯定爆炸。怎么辦呢…

throws Exception的意思

在方法聲明部分使用&#xff0c;表示該方法可能產生此異常&#xff0c;如果在方法聲明處使用了throws聲明異常&#xff0c;則該方法產生異常也不必捕獲&#xff0c;會直接把異常拋出到調用該方法的地方。

java list按照元素對象的指定多個字段屬性進行排序

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 直接提取重點代碼&#xff1a; /*** 把結果集合按時間字段排序&#xff0c;內部類重寫排序規則&#xff1a;* param list* return*/priv…

網絡爬蟲--18.python中的GIL(全局解釋器鎖)、多線程、多進程、并發、并行

參考文獻&#xff1a; python的GIL、多線程、多進程 并發和并行的區別&#xff1f; GIL(全局解釋器鎖)一看就懂的解釋&#xff01; 多謝作者分享&#xff01;

Socket和ServerSocket

對于即時類應用或者即時類的游戲&#xff0c;HTTP協議很多時候無法滿足于我們的需求。這會&#xff0c;Socket對于我們來說就非常實用了。下面是本次學習的筆記。主要分異常類型、交互原理、Socket、ServerSocket、多線程這幾個方面闡述。異常類型在了解Socket的內容之前&#…