數據庫的相關

ACID

事務的四大特性主要是:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。

原子性(Atomicity)

原子性是指事務是一個不可分割的工作單位,事務中的操作要么全部成功,要么全部失敗。比如在同一個事務中的SQL語句,要么全部執行成功,要么全部執行失敗。

begin transaction;update account set money = money-100 where name = '張三';update account set money = money+100 where name = '李四';
commit transaction;
一致性(Consistency)

官網上事務一致性的概念是:事務必須使數據庫從一個一致性狀態變換到另外一個一致性狀態。

換一種方式理解就是:事務按照預期生效,數據的狀態是預期的狀態。

舉例說明:張三向李四轉100元,轉賬前和轉賬后的數據是正確的狀態,這就叫一致性,如果出現張三轉出100元,李四賬號沒有增加100元這就出現了數據錯誤,就沒有達到一致性。

隔離性(Isolation)

事務的隔離性是多個用戶并發訪問數據庫時,數據庫為每一個用戶開啟的事務,不能被其他事務的操作數據所干擾,多個并發事務之間要相互隔離。

持久性(Durability)

持久性是指一個事務一旦被提交,它對數據庫中數據的改變就是永久性的,接下來即使數據庫發生故障也不應該對其有任何影響。

例如我們在使用JDBC操作數據庫時,在提交事務方法后,提示用戶事務操作完成,當我們程序執行完成直到看到提示后,就可以認定事務以及正確提交,即使這時候數據庫出現了問題,也必須要將我們的事務完全執行完成,否則就會造成我們看到提示事務處理完畢,但是數據庫因為故障而沒有執行事務的重大錯誤。

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

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

相關文章

【數據結構】二叉樹篇| 綱領思路01+刷題

博主簡介:努力學習的22級計算機科學與技術本科生一枚🌸博主主頁: 是瑤瑤子啦每日一言🌼: 所謂自由,不是隨心所欲,而是自我主宰。——康德 目錄 一、二叉樹刷題綱領二、刷題1、104. 二叉樹的最大深度2、 二叉…

react進階

react-virtualized的高階組件,Autosize可以使屏幕適配。使用render-props模式來獲取到AutoSizer組件暴露的width和height屬性。JSON.parse(JSON.stringify())不適用于有undefined的數據。 深拷貝的使用,不能使用在有undefined的數據中。有直接過濾undefi…

jacoco功能測試-代碼覆蓋率

1、下載 jacoco 官網地址:EclEmma - JaCoCo Java Code Coverage Library 2、拷貝 jar 包 下載好后,找到這兩個文件,然后找到被測項目 3、啟動 jacocoagent,監控被測項目 java -javaagent:jacocoagent.jarincludes*,outputtcp…

【Java】異常處理 之 使用Log4j

使用 Log4j 前面介紹了Commons Logging,可以作為“日志接口”來使用。而真正的“日志實現”可以使用Log4j。 Log4j是一種非常流行的日志框架,最新版本是2.x。 Log4j是一個組件化設計的日志系統,它的架構大致如下: log.info(&q…

linux0.95(VFS重點)源碼通俗解讀(施工中)

文件系統在磁盤中的體現 下面是磁盤的內容,其中i節點就是一個inode數組,邏輯塊就是數據塊可用于存放數據 操作系統通過將磁盤數據讀入到內存中指定的緩沖區塊來與磁盤交互,對內存中的緩沖區塊修改后寫回磁盤。 進程(task_struct * task[N…

Mysql中如果建立了索引,索引所占的空間隨著數據量增長而變大,這樣無論寫入還是查詢,性能都會有所下降,怎么處理?

索引所占空間的增長確實會對MySQL數據庫的寫入性能和查詢性能造成影響,這主要是由于索引數據過多時會導致磁盤I/O操作變得非常頻繁,從而使性能下降。為此,可以采取以下幾種方式來減緩這種影響: 1. 限制索引的大小:可以…

Netty框架技術文檔-基本概念

Netty: Home https://github.com/netty/netty 基本概念 NIO(Non-blocking I/O,非阻塞I/O):NIO是一種Java平臺的I/O模型,它使用Channel和Buffer來進行數據傳輸,而不是傳統的Stream。NIO模型可以處理大量并…

TCP除了3次握手,其他的這些你知道嗎?

文章首發地址 MSS: MSS(Maximum Segment Size)表示TCP報文段的最大長度,通常是MSSMTU-TCP頭部長度。由于數據鏈路層協議的MTU可能不同,因此TCP連接建立時會通過MSS選項告知對方報文段的最大長度。MTU: MTU…

【探索SpringCloud】服務發現-Nacos使用

前言 在聊服務注冊中心時,便提到了Nacos。這次便來認識一下。當然,這自然沒有官方介紹那般詳盡,權當是學習了解Nacos原理的一個過程吧。 Nacos簡介 Nacos,全名:dynamic Naming And Configuration Service. 而這個名…

Java JDBC,輕松構建數據庫連接:代碼教程詳解

JDBC的概述 Java Database Connectivity(JDBC)是 Java 中用于與數據庫進行通信的 API。它提供了一套標準的 API,并允許 Java 應用程序連接到各種關系型數據庫,如 MySQL、Oracle、PostgreSQL 等,從而可以執行 SQL 查詢…

win10在vmware15中安裝macos10.13系統

第一步、安裝vmware版本信息如下 第二步、下載unlocker-main和darwin.iso放到安裝文件夾 第三步、管理員身份運行win-install.cmd 第四步、運行vmware新建虛擬機 第五步、啟動新創建的虛擬機macOS 10.13并選擇語言 第六步、選擇磁盤工具抹掉磁盤 第七步、格式化完成后退出磁盤工…

flutter 隨筆

萬物 皆可 結構 概念 ?狀態 插件類 flutter系統類 MaterialApp源App應? 事件 很簡單/簡單/較復雜/復雜/很復雜 結構體 MaterialApp(xx:) 公開坑位屬性:所配置內容 Widget 插件事件 function 函數事件 flutter/dart 事件結構描述void Function() 外層主事件 內層回…

數據結構:交換排序

冒泡排序 起泡排序,別名“冒泡排序”,該算法的核心思想是將無序表中的所有記錄,通過兩兩比較關鍵字,得出升序序列或者降序序列。 算法步驟 比較相鄰的元素。如果第一個元素大于第二個元素,就交換它們。對每一對相鄰…

Python-OpenCV中的圖像處理-圖像金字塔

Python-OpenCV中的圖像處理-圖像金字塔 圖像金字塔高斯金字塔拉普拉斯金字塔 金字塔圖像融合 圖像金字塔 同一圖像的不同分辨率的子圖集合,如果把最大的圖像放在底部,最小的放在頂部,看起來像一座金字塔,故而得名圖像金字塔。cv2…

小程序發布注意事項

1、使用HBuildx的 發布 功能發布小程序,因為編譯完的代碼目錄不是同一個 如果使用 運行 到小程序,最后發布的版本會顯示”無法連接本地服務器“ 2、使用unicloud的云服務 uniCloud發行 | uni-app官網 阿里云的unicloud的話,使用request域名…

Spring中Bean的循環依賴問題

1.什么是Bean的循環依賴? 簡單來說就是在A類中,初始化A時需要用到B對象,而在B類中,初始化B時需要用到A對象,這種狀況下在Spring中,如果A和B同時初始化,A,B同時都需要對方的資源&…

電腦開機出現Boot Device怎么辦?

開機出現Boot Device這個問題很常見,有時還會出現No Boot Device的問題,雖然多了一個單詞,但意思是相同的,這些問題說明你的系統盤出現了問題,或者是引導出現了問題。這該如何解決呢? 方法1. 檢查主板或硬盤…

【算法——雙指針】LeetCode 283 移動零

題目描述: 思路: (雙指針) O(n)O(n)O(n) 給定一個數組 nums,要求我們將所有的 0 移動到數組的末尾,同時保持非零元素的相對順序。 如圖所示,數組nums [0,1,0,3,12],移動完成后變成nums [1,3,12,0,0] &am…

若依vue -【 100 ~ 更 ~ 110 】

100 主子表代碼生成詳解 1 新建數據庫表結構(主子表) -- ---------------------------- -- 客戶表 -- ---------------------------- drop table if exists sys_customer; create table sys_customer (customer_id bigint(20) not null…

Docker部署rabbitmq遇到的問題 Stats in management UI are disabled on this node

1. Stats in management UI are disabled on this node #進入rabbitmq容器 docker exec -it {rabbitmq容器名稱或者id} /bin/bash#進入容器后,cd到以下路徑 cd /etc/rabbitmq/conf.d/#修改 management_agent.disable_metrics_collector false echo management_age…