一句話講清楚數據庫中事務的隔離級別(通俗易懂版)

為什么我只說通俗易懂版不說嚴謹版?

因為嚴謹版遍地都是, 但是他們卻有一個缺點就是讓人看得云里霧里, 所以這就是我寫通俗易懂版的初衷!

但是既然是通俗易懂版就必然有缺陷, 只為了各位在開發過程中頭腦更加清晰, 如有錯誤還望兄弟們不吝賜教!

在MySQL數據庫中,事務一共有4中隔離級別,它們分別是:

1. 讀未提交: 就是在一個事務中, 可以查詢到其他事務中執行了update或者insert卻沒有執行commit語句的數據,所以會產生臟讀,幻讀,不可重復讀的問題(稍后再解釋)

2. 讀已提交(oracle和sqlServer默認的隔離級別): 就是在一個事務中, 不能查詢到其他事務中執行了update卻沒有執行commit語句的數據了,但是commit后,就能查詢到了,這個級別解決了臟讀的問題

3. 可重復讀(mysql默認的隔離級別): 可以理解為當一個事務開始時, 對整個數據庫進行了一次快照,你接下來的所有查詢都只能查詢到快照中的數據,即使可能這個數據已經被其他事務修改了一千次一萬次你也不會知道,插入或者刪除多少數據也同理與你本次事務無關

4. 串行化: 可以理解為 如果有多個事務同時訪問同一個數據庫, 即使他們要操作的表毫無關聯, 也要排隊一個個等上一個事務commit,從根本上避免了各種問題,但是效率極低

臟讀: 我查詢到了其他事務中update了但還未commit的數據

幻讀: 我使用相同條件查詢多次, 結果集可能由于其他已經commit的事務進行了新增或者刪除操作導致數據量發生了變化

不可重復讀:?我使用相同條件查詢多次, 結果集可能由于其他已經commit的事務進行了update操作導致數據內容發生了變化

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

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

相關文章

C語言之strcmp函數,strlen函數

strcmp函數是比較兩個字符串ASCII大小的函數。 比較方式是自左向右比較&#xff0c;直到出現不同字符或者\0為止 語法格式 strcmp(字符串1,字符串2&#xff09; 如果兩個字符串相同&#xff0c;會返回數值0 如果字符串1>字符串2,會返回一個正數 如果字符串1<字符串2…

新一代電話機器人開源PHP源代碼

使用easyswoole 框架開發的 新一代電話機器人開源PHP源碼 項目地址&#xff1a;https://gitee.com/ddrjcode/robotphp 代理商頁面演示地址 http://119.23.229.15:8080 用戶名&#xff1a;c0508 密碼&#xff1a;123456 包含 AI外呼管理&#xff0c;話術管理&#xff0c;CR…

每日一題 — 復寫零

1089. 復寫零 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 首先找到最后一個復寫的數&#xff1a; 雙指針算法&#xff1a; 1、先判斷 cur 位置上的值 2、然后決定 dest 移動一步還是兩步 3、然后判斷 dest 是否到終點了 4、最后 cur 處理越界的情況 arr[n-1] …

使用sourceCompatibility = 11不匹配解決方法

運行springbootgradle項目報錯。 原因&#xff1a;在生產該項目時&#xff0c;選擇的JDK是11版本的&#xff0c;但是本地電腦只安裝了1.8版本。不兼容所以報錯。 解決辦法&#xff1a; 找到build.gradle配置文件—>找到sourceCompatibility ‘11’—>把11改成自己本地…

思維題(藍橋杯 填空題 C++)

目錄 題目一&#xff1a; ?編輯 代碼&#xff1a; 題目二&#xff1a; 代碼&#xff1a; 題目三&#xff1a; 代碼&#xff1a; 題目四&#xff1a; 代碼&#xff1a; 題目五&#xff1a; 代碼&#xff1a; 題目六&#xff1a; 代碼七&#xff1a; 題目八&#x…

用python和pygame庫實現刮刮樂游戲

用python和pygame庫實現刮刮樂游戲 首先&#xff0c;確保你已經安裝了pygame庫。如果沒有安裝&#xff0c;可以通過以下命令安裝&#xff1a; pip install pygame 示例有兩個。 一、簡單刮刮樂游戲 準備兩張圖片&#xff0c;一張作為背景bottom_image.png&#xff0c;一張作…

Leetcoder Day35| 動態規劃part02

62.不同路徑 一個機器人位于一個 m x n 網格的左上角 &#xff08;起始點在下圖中標記為 “Start” &#xff09;。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角&#xff08;在下圖中標記為 “Finish” &#xff09;。 問總共有多少條不同的路徑&#xff…

如何在Linux配置C、C++、Go語言的編譯環境?

在 Linux 系統上配置 C、C、Go 語言的編譯環境可以通過安裝相應的編譯器和相關工具來實現。以下是在 Linux 系統上配置這些語言的編譯環境的一般步驟&#xff1a; 1. C 和 C 編譯環境配置&#xff1a; 安裝 GCC 編譯器&#xff08;一般 Linux 發行版都會包含&#xff09;&…

Android 顯示系統框架

一.FrameBuffer FrameBuffer 介紹&#xff1a; FrameBuffer中文譯名為幀緩沖驅動&#xff0c;它是出現在2.2.xx內核中的一種驅動程序接口。主設備號為29&#xff0c;次設備號遞增。 Linux抽象出FrameBuffer這個設備來供用戶態進程實現直接寫屏。FrameBuffer機制模仿顯卡的功能…

Day11:信息打點-Web應用企業產權指紋識別域名資產網絡空間威脅情報

目錄 Web信息收集工具 業務資產-應用類型分類 Web單域名獲取-接口查詢 Web子域名獲取-解析枚舉 Web架構資產-平臺指紋識別 思維導圖 章節知識點&#xff1a; Web&#xff1a;語言/CMS/中間件/數據庫/系統/WAF等 系統&#xff1a;操作系統/端口服務/網絡環境/防火墻等 應用…

dart中的事件隊列與微任務

dart在每個事件循環中&#xff0c;會先執行同步任務代碼&#xff0c;然后分別檢查兩個任務隊列&#xff1a;微任務隊列和事件隊列。dart總是先執行微任務隊列中的代碼&#xff0c;然后才是事件隊列中的代碼。當兩個隊列中的任務都執行完成后&#xff0c;線程進入休眠狀態&#…

Stable Diffusion WebUI API http://127.0.0.1:7860/docs空白

在嘗試調用Stable Diffusion WebUI API的時候&#xff0c;打開http://127.0.0.1:7860/docs遇到了以下頁面 網絡診斷是這樣的原因&#xff1a; 修bug&#xff0c;改來改去遇到了以下兩種頁面&#xff1a; 此時http://127.0.0.1:7860可以如下正常顯示&#xff1a; 查資料的時候找…

vue+springboot項目部署服務器

項目倉庫&#xff1a;vuespringboot-demo: vuespringboot增刪改查的demo (gitee.com) ①vue中修改配置 在public文件夾下新建config.json文件&#xff1a; {"serverUrl": "http://localhost:9090"//這里localhost在打包后記得修改為服務器公網ip } 然后…

[NSSCTF 2nd] web復現

1.php簽到 <?phpfunction waf($filename){$black_list array("ph", "htaccess", "ini");$ext pathinfo($filename, PATHINFO_EXTENSION);foreach ($black_list as $value) {if (stristr($ext, $value)){return false;}}return true; }if(i…

nginx 配置瀏覽器不緩存文件 每次都會從服務器 請求新的文件

目錄 解決問題方法說明 測試html環境js環境第一步然后修改內容 打開帶有js緩存的頁面強制刷新 配置nginx 每次打開頁面都會重新請求index.js 文件重啟nginx再次修改index.js 總結設置為全局 解決問題 適用于實時更新數據的&#xff0c;網頁 可以讓用戶每次都是重新請求&#x…

C語言中的套娃——函數遞歸

目錄 一、什么是遞歸 1.1.遞歸的思想 1.2.遞歸的限制條件 二、舉例體會 2.1.求n的階乘 2.2.順序打印整數的每一位 2.3.斐波那契數列 三、遞歸與迭代 一、什么是遞歸 在學習C語言的過程中&#xff0c;我們經常會跟遞歸打交道&#xff0c;什么是遞歸呢&#xff1f;它其實…

LNMP 架構

環境準備&#xff1a;lnmp 需要安裝 nginx mysql php 論壇/博客 軟件 使用LNMP架構搭建 論壇 1. 關閉防火墻和和核心防護 systemctl disable --now firewalld setenforce 0 2. 編譯安裝 nginx 安裝依賴包 yum -y install pcre-devel zlib-devel gcc gcc-c make 創建…

在Redhat 7 Linux上安裝llama.cpp [ 錯誤stdatomic.h: No such file or directory]

前期準備 在github上下載llama.cpp或克隆。 GitHub - ggerganov/llama.cpp: LLM inference in C/C ? git clone https://github.com/ggerganov/llama.cpp.gitcd llama.cpp 執行make命令編譯llama.cpp make 在huggingface里下載量化了的 gguf格式的llama2模型。 https:/…

每日一練:筆試題復盤-LeeCode原題-判斷二叉樹兩數之和-->找到滿足二叉樹兩數之和的所有路徑

用Java實現&#xff0c;給定一個二叉樹root和一個值 sum &#xff0c;找到從根節點到葉子節點的節點值之和等于 sum 的路徑。 1.該題路徑定義為從樹的根結點開始往下一直到葉子結點所經過的結點 2.葉子節點是指沒有子節點的節點 3.路徑只能從父節點到子節點&#xff0c;不能從子…

Compiling from source on UNIX(cmake doxygen ant maven ccache)

前言 源碼鏈接 cmake-3.18.0 https://cmake.org/files/v3.18/cmake-3.18.0.tar.gzdoxygen-1.10.0 https://www.doxygen.nl/files/doxygen-1.10.0.src.tar.gzapache-ant-1.10.8-bin https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.8-bin.tar.gzapache-maven-3…