Mysql事物和索引

2021-09-12 12:24:11 字數 1202 閱讀 3933

mysql 事務主要用於處理操作量大,複雜度高的資料。 

mysql事物具有以下特點: 

在 mysql 中只有使用了 innodb 資料庫引擎的資料庫或表才支援事務。 

事務處理可以用來維護資料庫的完整性,保證成批的 sql 語句要麼全部執行,要麼全部不執行。 

事務用來管理 insert,update,delete 語句

資料庫事物的四個特性及其含義: 

acid: 

(atomicity)原子性:乙個事物的所有sql操作,要麼全部完成,要麼全部不完成,不會停留在某個中間狀態。事物在中間過程中發生了錯誤,會被回滾到之前的狀態就好像操作並沒有發生過一樣。。 

(consistency)一致性:在事物操作之前和操作過後,資料庫的完整性不會發生改變。 

(isolation)隔離性:資料庫允許多個併發事務同時對其資料進行讀寫和修改的能力,隔離性可以防止多個事務併發執行時由於交叉執行而導致資料的不一致。事務隔離分為不同級別,包括讀未提交(read uncommitted)、讀提交(read committed)、可重複讀(repeatable read)和序列化(serializable)。 

(durability)永續性:事物處理結束後,對於資料庫的操作就是永久的,即便系統故障也不會丟失。

注:在 mysql 命令列的預設設定下,事務都是自動提交的,即執行 sql 語句後就會馬上執行 commit 操作。因此要顯式地開啟乙個事務務須使用命令 begin 或 start transaction,或者執行命令 set autocommit=0,用來禁止使用當前會話的自動提交。

mysql事物處理的方法 

begin 開始乙個事務 

rollback 事務回滾 

commit 事務確認 

直接用 set 來改變 mysql 的自動提交模式:

set autocommit=0 禁止自動提交 

set autocommit=1 開啟自動提交

mysql 索引 

mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可以有多個單列索引,但這不是組合索引。組合索引,即乙個索引包含多個列。

建立索引時,你需要確保該索引是應用在 sql 查詢語句的條件(一般作為 where 子句的條件)。

實際上,索引也是一張表,該錶儲存了主鍵與索引字段,並指向實體表的記錄。

Day05 MySQL 索引和事物

索引型別 功能說明 普通索引 最基本的索引,它沒有任何限制 唯一索引 某一行啟用了唯一索引則不准許這一列的行資料中有重複的值。針對這一列的每一行資料都要求是唯一的 unique 主鍵索引 它是一種特殊的唯一索引,不允許有空值。一般是在建表的時候同時建立主鍵索引,常用於使用者id。類似於書中的頁碼 p...

Mysql 內外連線,事物,索引

表的連線分為內連和外連 內連線 內連線實際上就是利用where語句對倆個表形成的笛卡兒積進行篩選,我們前面學的所有連線都是內鏈結 語法 select 欄位名 from 表1 inner join 表2 on 連線條件 and 其他條件 例 顯示smith的名字和部門名稱 外連線 外連線分為左外連線和...

MySQL 事物和事物回滾

原子性一致性隔離性永續性 事務應用 開啟事務 mysql begin mysql 一條或者多條sql命令 此時autocommint被禁用終止事務 mysql commit mysql rollback 注意 事務回滾只針對於表記錄的操作 增 刪 改有效 對建立庫 建立表的操作無效背景 你 建行卡 ...